Whenever someone starts architecting Azure Infrastructure they jump on Virtual Machines and start provisioning workloads for Azure VM.

I must tell you before you plan your Virtual Machines in Azure, you must plan a couple of things such as Virtual Network, Availability Set, Managed Disks, Desired State Configuration, Deployment approach, Regional and High availability set, load balancers, traffic managers, Application Gateway, VPN and express routes and so many things.

In this article, I will talk about a very small but very important concept: Availability Set with Fault Domains and Update Domains.

Availability Set

Following are the 3 main scenarios that can cause your VMs in Azure to be impacted or put them in a faulted state.

After both planned and unplanned updates your virtual machines and your operating system will be rebooted.

Each virtual machine in the Availability Set is assigned an Update domain and Fault domain by the Azure platform.

Fault Domain

Consider the below-mentioned diagram below.

Here we have arranged the web server VM and database server vm in such a way that if one Fault Domain fails, still your vms would be available.

 Database Server

Update Domains

How many Fault Domains and How many Update Domains we can have?

  1. In the Azure Service Management (ASM) portal, we have two Fault domains and 5 update domains.
  2. In the Azure Resource Manager(ARM) portal, we have three Fault domains and 5 update domains but we can upgrade our update domains from 5 to 20.
  3. VMs are assigned sequentially in the update domains and fault domains.
  4. Consider the below mentioned table to understand how virtual machines would be placed within Fault Domains and Update Domains inside an availability set.
Virtual Machines Fault Domain (3 Fault doamins) Update Domain (5 Update domains)
VM 1 0 0
VM 2 1 1
VM 3 2 2
VM 4 0 3
VM 5 1 4


Key Points to remember