What is an Azure Availability Set
Availability Sets become important in circumstances when placing two or more VMs in an Availability Set for each application tier is required. For instance, placing domain controllers in one Availability Set, data-tier SQL servers in a second, and IIS front-end servers in a third is a good example of using Availability Sets. Without this grouping, Microsoft Azure has no way of distinguishing the application tiers for each Virtual Machine. This can lead to a single point of failure in the hardware infrastructure causing an outage or a planned maintenance event rebooting all VMs in the same application tier simultaneously.
When adding VMs to an Availability Set, Azure automatically assigns an Update Domain and a Fault Domain to each VM. By default Availability Sets have two Fault Domains, each sharing a common power source and network switch, and VMs are automatically separated across the Fault Domains. It is important to mention that the number of Fault Domains in an Availability Set isn’t exact. The only guarantee is that all VMs in the set will not fail together.
Availability Sets are assigned five Update Domains, and VMs are grouped into these Update Domains automatically. When a sixth VM is added to an Availability Set, it’s assigned sequentially to the first Update Domain, and the seventh VM to the second Update Domain etc. this allows the first and the sixth VMs added to an Availability Set to be rebooted at the same time in the instance of a planned event. Only one Update Domain is ever rebooted at a time, but the reboot order isn’t necessarily in order, so the fifth Update Domain could be rebooted before the first.