Review update domains and fault domains
Azure Virtual Machine Availability Sets implements two node concepts to help Azure maintain high availability and fault tolerance when deploying and upgrading applications: update domains and fault domains. Each virtual machine in an availability set is placed in one update domain and one fault domain.
Things to know about update domains
An update domain is a group of nodes that are upgraded together during the process of a service upgrade (or roll out). An update domain allows Azure to perform incremental or rolling upgrades across a deployment. Here are some other characteristics of update domains.
Each update domain contains a set of virtual machines and associated physical hardware that can be updated and rebooted at the same time.
During planned maintenance, only one update domain is rebooted at a time.
You can specify between 1 and 20 update domains when creating an availability set. If you don't specify a value, Azure defaults to five update domains.
The update domain count is immutable after creation; to change it, you must delete and recreate the availability set.
Things to know about fault domains
A fault domain is a group of nodes that represent a physical unit of failure. Think of a fault domain as nodes that belong to the same physical rack.
A fault domain defines a group of virtual machines that share a common set of hardware (or switches) that share a single point of failure. An example is a server rack serviced by a set of power or networking switches.
Two fault domains work together to mitigate against hardware failures, network outages, power interruptions, or software updates.
Let's look at a scenario with two fault domains that have two virtual machines each. The virtual machines in each fault domain are contained in different availability sets. The web availability set contains two virtual machines with one machine from each fault domain. The SQL availability set contains two different virtual machines with one from each fault domain.