Azure VMs : Availability Sets and Availability Zones
Introduction
Availability is the annual percentage rate that a system is functional and working. Azure offers SLA-graded availability solutions for Virtual Machines by hosting them in multiple data centers around the world. This article provides you with an overview of the availability features of Azure.
Availability Set
A group with two or more virtual machines in the same Data Center is called Availability Set, this ensures that at least one of the virtual machines hosted on Azure will be available if something happens. This configuration offers 99.95% SLA.
Note
Behind the scenes an availability set is a kind of clustering with not sync between VMs, it just try to keep the VMs up and running.
At the image below we can see a basic scenario of two Web Servers and two Database Servers.
Configure an Availability Set
We can configure an Availability Set ONLY when we deploy a New Virtual Machine, we can't add an existing Virtual Machine to an Availability Set.
At the image below we can see the Availability Set option on Azure Portal.
Availability Zones
This is the next level of Azure Virtual Machines high-availability, because Virtual Machines are in different physical locations within an Azure Region. It can be deployed using one or more Virtual Machines in an Azure Region. Availability zones offer 99.99% SLA.
There are two categories of Availability Zones:
- Zonal Services (Add the resource to a specific zone, for example VMs, Managed Disks, IP Addresses )
- Zone-redundant services (Automatic replication across zones is enabled for SQL Database, zone-redundant storage)
At the image below we can see a scenario with three Availability Zones on the same region.
Supported Instances
Availability Zones don't support all VM sizes. We can check what SKUs are supported with the following command:
Login-AzureRmAccount
Get-AzureRmComputeResourceSku | where {$_.Locations.Contains( "westeurope" ) `
-and $_.LocationInfo[ 0 ].Zones -ne $null `
-and $_.ResourceType.Equals( "virtualMachines" )}
Output:
ResourceType Name Location Zones Restriction Capability Value
------------ ---- -------- ----- ----------- ---------- -----
virtualMachines Standard_D1 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 51200
virtualMachines Standard_D2 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 102400
virtualMachines Standard_D3 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 204800
virtualMachines Standard_D4 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 409600
virtualMachines Standard_D11 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 102400
virtualMachines Standard_D12 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 204800
virtualMachines Standard_D13 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 409600
virtualMachines Standard_D14 westeurope {1, 3} NotAvailableForSubscription MaxResourceVolumeMB 819200
virtualMachines Standard_A1_v2 westeurope {1, 3, 2} MaxResourceVolumeMB 10240
virtualMachines Standard_A2m_v2 westeurope {1, 3, 2} MaxResourceVolumeMB 20480
virtualMachines Standard_A2_v2 westeurope {1, 3, 2} MaxResourceVolumeMB 20480
virtualMachines Standard_A4m_v2 westeurope {1, 3, 2} MaxResourceVolumeMB 40960
virtualMachines Standard_A4_v2 westeurope {1, 3, 2} MaxResourceVolumeMB 40960
virtualMachines Standard_A8m_v2 westeurope {1, 3, 2} MaxResourceVolumeMB 81920
virtualMachines Standard_A8_v2 westeurope {1, 3, 2} MaxResourceVolumeMB 81920
virtualMachines Standard_DS1 westeurope 1 NotAvailableForSubscription MaxResourceVolumeMB 7168
Configure an Availability Zone
Configuring an Availability Zone is very easy, especially from the Azure Portal. Select the Availability Zone for the Virtual Machines using the Availability Zone drop-down. Your managed disk and, if you have one, your public IP will be deployed into the same zone. Note that for 99.99% SLA, you must deploy at least two virtual machines into at least two different zones.
The next image shows this option.
Differences between Availability Set and Availability Zone
At the table below we can see the two main differences between Availability Set, Zone
Availability Set | Availability Zone |
Protect from Hardware failures within data centers | Protect from entire data center failure |
SLA 99.95 % | SLA 99.99% |
Azure VM SLA
Below are the SLA's for the Azure Virtual Machines.
- 99.9%, Single VM
- 99.95%, 2 or more VMs in an Availability Set
- 99.99%, 2 or more VMs into Availability Zone
Note
This Service Level Agreement for Microsoft Online Services (this “SLA”) is a part of your Microsoft volume licensing agreement (the “Agreement”). If Microsoft does not achieve and maintain the Service Levels for each Service as described in this SLA, then you may be eligible for a credit towards a portion of your monthly service fees.
Conclusion
Microsoft Azure surprises us day by day. In this post we talked for two of the options offered to users for Availability. These are Availability Sets and Availability Zones, which are very easy to be deployed in both ways, using Azure Portal and Powershell.
Related Links
- Azure SLA for Virtual Machines
- Manage the availability of Windows virtual machines in Azure
- What are Availability Zones in Azure
- Create Virtual Machine in an availability zone with PowerShell
- Create Virtual Machine in an availability zone with the Azure portal
- Create a virtual machine in an availability zone with the Azure CLI