Skip to main content

What are Availability Set, Fault Domain, and Update Domain in Azure?

Table Of content

1- Availability Set
3- Fault Domain
2- Update Domain

Availability Set


Before understanding Availability Set, we have to understand some scenarios that can lead to the virtual machine in Azure being impacted. There are three factors that impact VM on Azure are Unplanned Hardware maintenance Event, Unexpected Downtime, and Planned maintenance event.

Unplanned Hardware maintenance Event occurs when the Azure platform evaluated that hardware or a component associated with a physical machine is in a failure condition. When this event occurs, Azure issue an unplanned hardware maintenance event to reduce the impact on the virtual machines hosted on that hardware. Azure uses live migration technology to migrate the Virtual Machine from the failing hardware to a healthy physical machine. It takes a few times to be up. Memory, Open files, and network connections are maintained, but performance might be reduced before/after an event.

An Unexpected downtime occurs when any hardware fails suddenly for Virtual Machines, for example, it included local network failure, local disk failure, or other rack failures. If the Azure platform detected this type of issue, Azure automatically migrates virtual machines to a healthy physical machine in the same data center.

Planned maintenance event is periodically updated by Microsoft to improve overall reliability, performance, and security of the platform infrastructure where your virtual machine is running. These types of updates impact are very low on your virtual machines or your cloud services, only required to reboot your machines.

All the above features are provided by Microsoft Azure, but this is not practically good; it might be the failure to impact your business. To scape that type of issue, Azure provides a new feature Availability Set for redundancy.

Availability Set ensures that the Azure virtual machines are deployed across multiple isolated hardware nodes in a cluster. If any node failed in across numerous hardware nodes, and the only subset of your virtual machines is impacted, and your overall solution is safe. It provides the redundancy solution, and for safety, it spreads your virtual machine to across multiple fault domains and update domains.

Fault Domain


Two events Unplanned Hardware maintenance Event and Unexpected Downtime comes under the fault domain.
A fault domain is factually a rack of the servers which consumes mostly subsystem like network, power, cooling, etc. When you put VMs on an Availability Set, then to protect VMs from failure, Azure spread them on fault domain and update the domain.

Suppose we put two VM into the availability set, then Azure will set up VMs to two different racks so that if the network, power, etc. failed, then only one rack will be affected.


You can see in pic two VMs are on the same availability set, so Azure has been provisioned them on two different racks. I always have seen that only two Fault Domains are available in Azure and VMs spreads on over these two fault domains (FD0 and FD1)

Suppose in some environment we need to create 6 VMs then how to Azure will be provisioned to VMs over fault domain, you can see the following table it may help you to understate the fact of set up of VMs over fault domains.

VM
Fault Domain
VM1
0
VM2
1
VM3
0
VM4
1
VM5
0
VM6
1

Update Domain


When you created VMs on the IaaS service model, then Microsoft is not responsible for automatic system updates. You have complete control over that. The planned maintenance event comes in this phase, where we planned for server or virtual machine updating.

Sometimes we need to update some own software, or some updates come from Microsoft due to performance, security, etc. it is not automatically updated your virtual machine, then we need to plane it for updates. So how is that done without taking your service offline? Update Domains. It’s similar to the FD methods, only this time, instead of accidental failure, there is a purposeful move to take down one (or more) of your servers. So to make sure your service doesn’t go offline because of an update, it will walk through your update domains one after the other.

Whereas FDs are assigned in the pattern 0, 1, 0, 1, 0, 1, 0, 1---- and UDs are assigned 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4 ----
VM
Fault Domain
Update Domain
VM 0
0
0
VM 1
1
1
VM 2
0
2
VM 3
1
3
VM 4
0
4
VM 5
1
0
VM 6
0
1
VM 7
1
2
VM 8
0
3
VM 9
1
4

Related Post