Fault domain versus update domain
When you place your VMs in an availability set, Azure guarantees to spread them across fault and update domains. By default, Azure will assign three fault domains and five update domains (which can be increased to a maximum of 20) to the availability set.
When spreading your VMs over fault domains, your VMs sit over three different racks in the Azure data center. So, in the case of an event or failure of the underlying platform, only one rack gets affected and the other VMs remain accessible, as depicted in the following diagram:

Figure 10.3 – VMs spread across fault domains
Update domains are useful in the case of an OS or host update. When you spread your VMs across multiple update domains, one domain will be updated and rebooted while the others remain accessible, as depicted in the following diagram:

Figure 10.4 – VMs spread across update domains and fault domains
In the next section, we are going to discuss scale sets and the role they play in creating scalable infrastructure.
Scale sets
VM scale sets are used for deploying multiple VMs at once without the need for manual actions or using scripts. You can then manage them all at once from a single place. VM scale sets are typically used to build large-scale infrastructures, where keeping all your VMs in sync is key. The maintenance of VMs, including keeping them in sync, is handled by Azure. VM scale sets use availability sets under the hood. VMs inside a scale set are automatically spread over the fault and update domains by the underlying platform. VM scale sets use Azure Autoscale by default. You can, however, add or remove instances yourself instead of using Autoscale.
When creating a scale set, a couple of artifacts are created for you automatically. As well as the number of VMs you specified being added to the set, Azure Load Balancer and Azure Autoscale are added, along with a virtual network and a public IP address, as shown in the following screenshot:

Figure 10.5 – VM scale sets
Now that you understand the role of scale sets, we will explore availability sets in the next section.