Read on:
Microsoft Azure for Beginners: Understanding Azure Terminologies – Part 1
Microsoft Azure for Beginners: How to Create an Azure Virtual Machine – Part 2
Microsoft Azure for Beginners: What is Azure Governance – Part 3
Read More
Clients regularly ask me to explain (the difference between) update domains and availability zones. Unfortunately, it regularly happens that people confuse them. Therefore, in this blog post, I will explain the key differences and suggest on when you should use them.
What are Update domains in Azure
Update domains in Azure are used to control the updates of virtual machines in an availability set. They ensure that only a limited number of virtual machines are taken offline during an update.
When you create a virtual machine in Azure, it is automatically assigned to an update domain. Each Azure region has five update domains, and each domain is updated separately during planned maintenance events. For example, if you have five virtual machines in an Azure region, one virtual machine will be assigned to each of the five update domains. When a planned maintenance event occurs, only one of the five update domains will be affected simultaneously, while the other four remain online and available.
The number of update domains can be specified when creating an availability set, and can be between 2 and 20.
Don’t forget you can only join a virtual machine when you create it. It’s impossible to add a virtual machine to an update domain afterwards.
What are Availability zones
Availability domains in Azure are physically separate datacenters within an Azure region. Each availability zone is engineered to be isolated from failures that happen in other availability domains, so that the loss of one availability domain does not affect the others. This provides high availability for your virtual machines and other resources in the cloud.
When you create a virtual machine in Azure, you can choose which availability zone to deploy it to, allowing you to control the availability level for your workloads. For example, if you need to deploy a virtual machine with a high availability requirement, you can deploy it across two or more availability zones. This way, if one availability zone fails, the virtual machine will still be online and available.
Availability zones are also used to improve the performance of your workloads. Each availability zone is connected to the other zones within the same region using high-speed, low-latency networking, allowing you to quickly deploy workloads across multiple zones, for improved performance.
It is important to note that availability zones are different from availability sets. As we discussed earlier, availability sets are used to ensure that virtual machines are distributed across multiple update domains. On the other hand, availability domains are used to ensure that virtual machines are deployed across multiple physically separate data centers within an Azure region.
Wrap up!
You would use Update Domains in Azure to control the rolling update of virtual machines in an availability set. Update domains ensure that only a limited number of virtual machines are taken offline during an update, reducing the impact on your application.
You would use Availability Zones in Azure when you need to provide a higher level of availability and resiliency for your applications and data. Availability Zones are physically separate locations within an Azure region equipped with independent power, cooling, and networking. By creating virtual machines in an Availability Zone, you can protect against data loss due to hardware failures or natural disasters.
In general, you would use Availability Zones to ensure that your application is highly available. You could also use Update Domains if you need to control the update process for your virtual machines. The specific needs of your application will determine which feature is more appropriate for your use-case.
Microsoft Azure for Beginners: What is Azure PaaS – Part 4
Microsoft Azure for Beginners: Cloud Adoption Framework – Part 5
Microsoft Azure for Beginners: How to Create your First Azure Bicep Template – Part 6
Microsoft Azure for Beginners: How to Create Modules with Azure Bicep – Part 7
Microsoft Azure for Beginners: 10 Tips for using Azure Bicep – Part 8
Microsoft Azure for Beginners: Deploying Resources to Azure using Terraform – Part 9
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.