Monday, 20 May 2024

Azure availability set vs availability zone

 

Azure availability set vs availability zone


In this video we will discuss the difference between availability set and availability zone in Azure.

Update Domains and Fault Domains in an Availability Set

Availability set is a concept with in a datacenter.

what is availability set

The servers in a datacenter are divided into multiple physical and logical groups. The physical grouping is called fault domain and the logical grouping is called update domain.

fault domain update domain in availability set

You can think of each rack of servers with it's own power supply and network switch as one fault domain. So, if there are 10 racks of server in a datacenter, it's like you have 10 different falut domains. Now, you may be thinking, why is such a grouping required. Well, to eliminate single point of failure. 

availability set fault domain update domain

For example, let's say in a datacenter, we have 100 servers and all these servers are connected by a single power supply and network switch. What if that single power supply or network switch fails? Well, all the 100 servers will fail as well.

why azure availability set

So, to eliminate such a single point of failure, each rack of servers has it's own power supply and network switch. Let's say in each rack we have 10 servers. When the power supply or network switch in that rack fails, only the 10 servers in that rack are affected. The rest of the 9 racks i.e the other 90 servers are unaffected.

So, by grouping servers in a datacenter into multiple racks i.e multiple fault domains, we are able to eliminate a single point of failure.

Same idea with update domains. If there are 100 servers in a datacenter, they are logically grouped into 10, 15 or 20 update domains. So the important point to keep in mind is, an update domain is a logical grouping. Why are update domains required? Well, from time to time, server patches and software updates need to be applied. Some updates require servers to be rebooted. Now, we don't want all the servers to be rebooted at the sametime. Only one update domain is rebooted at a time. A rebooted update domain is then given 30 minutes to recover before maintenance is initiated on a different update domain. So, in short, an update domain is a group of servers that can be updated and rebooted at the same time.

An availability set is a concept with in a datacenter and it is made up of multiple fault domains and update domains. In fact, when you create an availability set, you can specify how many fault domains and update domains you want in that availability set. We discussed this in detail in our previous video.

what is availability set in azure

Update Domains and Fault Domains in an Availability Zone

Availability Zone's also have the concept of fault domains and update domains. First, let's understand, what is an availability zone.

fault domain update domain in availability zone

Well, an Azure Availability Zone is a unique physical location within an Azure region. Each Availability Zone is made up of one or more datacenters with independent power, cooling, and networking.

what is availability zone in azure

Not all Regions have Availability Zones, but regions that do have availability zones, have a minimum of three separate zones.

azure availability zones example

You can think of each availability zone as a separate fault domain and update domain. So in a given azure region if you have 3 availability zones, then it's like you have 3 fault domains and 3 update domains.

So, for example, if you create three VMs across three availability zones in an Azure region, your VMs are effectively distributed across three fault domains and three update domains. 

azure availability zones simple example

If one of the Availability Zones has gone down for some reason, we still have 2 VMs from the rest of the 2 availability zones. Similarly, if there is an update or a patch to be applied, azure schedules these at different times for different availability zones. So this means, we have just one of the availability zones affected while the update is being applied. The rest of the 2 zones are unaffected.

Now, here is the important bit to keep in mind. The concept of update domain and fault domain is present in both availability set and availability zone. In case of an availability set, a group of servers (physical or logical), physical grouping i.e a rack of servers is a fault domain and logical group of servers is an update domain. In case of an availability zone, each availability zone itself is considered, a separate falut domain and update domain. So in a given azure region if you have 3 availability zones, then it's like you have 3 fault domains and 3 update domains.

availability set vs availability zone

Availability SLA with Availability Set and Availability Zone

The following MSDN page has the VM SLA.
https://azure.microsoft.com/en-us/support/legal/sla/virtual-machines/v1_9/

azure virtual machine sla

Microsoft guarantees only 99.9% SLA i.e connectivity, if you create just a single instance of virtual machine in azure.

If you create 2 or more virtual machines in an availability set, then Microsoft guarantees you will have connectivity to at least one of the virtual machines at least 99.95% of the time.

On the other hand, if you create 2 or more virtual machines across 2 or more availability zones, then Microsoft guarantees you will have connectivity to at least one of the virtual machines at least 99.99% of the time.

Difference between Azure Availability Set and Availability Zone

In short, the following are the 2 main differences between an Availability Set and Availability Zone

An availability set protects your azure resources from failures within data centers where as an availability zone protects from entire datacenter failures.

From the Service Level Agreement (SLA) standpoint, i.e uptime and connectivity - With Availability Set azure offers 99.95% SLA where as with Availability Zone we have 99.99% SLA. So, there we go, with availability zones, Azure offers industry best 99.99% VM uptime SLA.

difference between availability set and availability zone

No comments:

Post a Comment