
Azure Fault Domains are a critical concept in ensuring high availability and reliability in cloud-based systems. They are essentially isolated paths for power and cooling within a datacenter.
Each Fault Domain is designed to be independent of the others, meaning that if one domain experiences a failure, the others remain unaffected.
Fault Domains are typically implemented in pairs, with each pair consisting of two Fault Domains that share a common power source but are otherwise isolated.
Azure Update Domains are another key concept that complements Fault Domains in ensuring smooth and efficient updates. They define the scope of an update operation.
What Are Azure Domains?
Azure domains are a way to group virtual machines that share a common power source and network switch.
A fault domain defines the group of virtual machines that share these common resources.
By default, virtual machines in an availability set are separated across up to three fault domains.
This separation limits the impact of potential physical hardware failures, network outages, or power interruptions.
Fault domains can also be applied to managed disks, ensuring that all attached disks are within the same fault domain.
The number of managed-disk fault domains varies by region, with either two or three managed-disk fault domains per region.
You can retrieve a list of fault domains per region using a specific command.
Only virtual machines with managed disks can be created in a managed availability set.
Azure Domain Concepts
Azure Fault Domains define a group of virtual machines that share a common power source and network switch, with up to three fault domains by default.
Each fault domain is a logical grouping of resources that share a common physical hardware platform, helping to minimize the risk of downtime due to hardware failures. Resources in the same fault domain are spread across different physical hardware platforms.
Azure ensures that no two resources in the same fault domain are running on the same physical hardware platform, making it a useful tool for compliance and regulatory requirements. Fault domains can be used to protect against physical hardware failures, network outages, or power interruptions.
Here's a comparison of Azure Fault and Update Domains:
Definition of a Set
A set in Azure refers to a logical grouping of resources.
In Azure, a set can be either a fault domain or an update domain.
A fault domain is a logical grouping of resources that share a common physical hardware platform.
A fault domain helps minimize the risk of downtime due to hardware failures.
Resources in the same fault domain are spread across different physical hardware platforms.
Azure ensures that no two resources in the same fault domain are running on the same physical hardware platform.
An update domain, on the other hand, is a logical grouping of resources that share a common software update policy.
An update domain helps minimize the risk of downtime due to software updates.
Resources in the same update domain are not updated at the same time.
Azure ensures that no two resources in the same update domain are updated at the same time.
For another approach, see: From Which Azure Resource Can You Configure the Fault Domains
Here's a comparison of fault domains and update domains:
Availability sets are a type of set that can be used to reduce the chance of correlated failures bringing down related VMs at the same time.
Availability sets place VMs in different fault domains for better reliability.
Shared Domains
Shared Domains can be a concern when deploying multiple Virtual Machines (VMs) in Azure.
You may end up with VMs sharing a fault domain if you stop or deallocate a VM between deployments. This can happen if you deploy a VM, then stop or deallocate it, and finally deploy another VM.
To avoid this issue, make sure not to stop or deallocate VMs between deployments. This simple step can save you from having to troubleshoot shared fault domains later on.
If you do end up with shared fault domains, you can confirm this by checking the Fault Domain column in your availability set. This is a good practice to get into, especially if you're working with multiple VMs.
Here are the steps to check for shared fault domains:
- Go to your availability set
- Check the Fault Domain column
- If your VMs have a shared fault domain, it's likely due to stopping or deallocating a VM between deployments.
Update Domains and SLA

Azure Fault Domain is a crucial concept to understand, especially when it comes to ensuring high availability and minimizing downtime. Azure Fault Domains are a logical grouping of resources that share a common physical hardware platform.
This helps minimize the risk of downtime due to hardware failures. Resources in the same fault domain are spread across different physical hardware platforms, ensuring that no two resources in the same fault domain are running on the same physical hardware platform.
Azure ensures that no two resources in the same fault domain are running on the same physical hardware platform, which is especially important for critical applications. You can use Azure Fault Domains to comply with various compliance and regulatory requirements.
Here's a comparison of Azure Fault and Update Domains:
By deploying resources across multiple fault domains, you can ensure that your application remains available even in the event of a hardware failure. This is especially important for mission-critical applications that require high uptime.
Azure Domains Comparison

Azure Fault Domains are a logical grouping of resources that share a common physical hardware platform, which helps minimize the risk of downtime due to hardware failures.
Resources in the same fault domain are spread across different physical hardware platforms, ensuring that no two resources are running on the same platform.
Azure Update Domains, on the other hand, are a logical grouping of resources that share a common software update policy, helping to minimize the risk of downtime due to software updates.
Azure supports up to three fault domains and up to 20 update domains.
Here's a comparison of Azure Fault and Update Domains:
Both Azure Fault and Update Domains can be used to comply with various compliance and regulatory requirements, making them a valuable tool for businesses of all sizes.
Azure Domain
Azure Domain is a crucial concept to understand when it comes to Azure Fault Domains. Azure Fault Domains are a logical grouping of resources that share a common physical hardware platform.

Each Azure Fault Domain can contain up to 15-20 physical servers with its own power supply and network switch, making it a single point of failure. This means if the power supply or network switch fails in a given Fault Domain, all the servers in that Fault Domain will fail.
Azure Fault Domains help minimize the risk of downtime due to hardware failures by spreading resources across different physical hardware platforms. This is achieved by ensuring that no two resources in the same Fault Domain are running on the same physical hardware platform.
Azure provides a standard service offering that includes Fault Domains, and they do not require any additional fees. You can also change your Fault Domain configuration at any time.
Here's a comparison of Fault Domains and Update Domains:
Consequences and Best Practices
Using availability sets can help prevent a catastrophic failure of all your web and database servers, like what happened in the example where four VMs ended up in the same fault domain.

If availability sets are not used, all your VMs may end up in the same fault domain or update domain, making them vulnerable to a single point of failure.
In a scenario where all web and database servers go down, the result is a complete loss of availability for your web application, which can have devastating consequences for businesses like Amazon.com.
The extent of loss to the business can be staggering, with every second the system is down resulting in significant revenue loss.
To avoid this, it's essential to use availability sets to distribute VMs across multiple fault domains and update domains.
Sources
- https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview
- https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-manage-fault-domains
- https://www.linkedin.com/pulse/update-domain-vs-fault-azure-amit-goyal
- https://www.smikar.com/azure-fault-and-update-domains/
- https://www.pragimtech.com/blog/azure/azure-availability-set/
Featured Images: pexels.com