An Azure availability set spreads virtual machines across separate fault and update domains, reducing the chance that maintenance or a hardware problem takes them all offline. section 3.2.1 section 3.5.2
The two domains handle different kinds of disruption:
- Fault domains separate VMs across hardware groups that do not share power, cooling, or network switches. section 3.2.1
- Update domains group VMs for planned maintenance; Azure reboots only one update domain at a time. section 3.5.2
- Create the availability set before creating its VMs, then accept the cost of running multiple instances for improved resilience. section 3.2.1 section 3.5.2
A small resilient VM service
A set containing nine VMs can use three fault domains and six update domains. During a platform update, only one update domain is rebooted, while the remaining VMs continue serving users. More fault domains also reduce the impact of a rack-level power, cooling, or networking failure. section 3.2.1 section 3.5.2
Figure 3.14 An availability set with nine VMs, six update domains, and three fault domains
Use the diagram to compare VM placement across update and fault domains. section 3.2.1
