1

I am about to setup Neo4j HA on Azure VMs, what is the best arrangement of the VMs in azure availability set to provide HA for Neo4j.

I think if i put all the VMs in one availability set there could be a chance that Azure Shut down some of our VMs at the same time instead of bone and this could lead us to the situation that the Neo4j cluster may not be able to create the quorum for writing the data. is there any advice to setup Neo4j HA in Azure Cloud environment?

Farvashani
  • 111
  • 3

1 Answers1

0

I'm not a specialist in Neo4j, but if I'm not mistaken, you achieve HA using at least 3 nodes.

http://neo4j.com/docs/stable/ha-architecture.html

In Azure, each virtual machine in your Availability Set is assigned an Update Domain (UD) and a Fault Domain (FD) by the underlying platform.

For UD, you have 5 slots, which means only after creating the sixth instance you will start to have more than one virtual machine on the same slot. Consequently up to 5 VMs, they will be rebooted one at a time if needed during planned maintenance.

In the case of unplanned maintenance, FD plays the big role. You only have 2 slots for classic v1 IaaS or 3 slots for ARM v2 IaaS, so I recommend new deployments to be done using v2 for cases that are needed at least 3 nodes.

Said that, even for classic v1 IaaS, you are still covered by 99.95% SLA when using LB and Availability Sets.

Bruno Faria
  • 3,814
  • 1
  • 13
  • 18