AZ900: Azure Availability Zones

In the previous post about Azure core services, we looked into Azure Regions and how they are used to provide services and infrastructure across the globe. One of the features Microsoft has implemented to improve system redundancy, and application availability is Region Pairing.

Alongside Region Pairing, in a subset of the available regions, Microsoft also offers the service of Availability Zones, which we will review in this post.

What are Availability Zones?

Availability Zones are datacenters within a single Azure region that are entirely physically separated. So if one zone is affected by an outage, the others continue to operate. Each datacenter has isolated power, networking, and cooling from the other datacenters. This is similar to region pairing, but the redundancy is within a single region, and replication between availability zones is synchronous rather than asynchronous. These two features work side by side in providing high availability and business continuity when you deploy services into two or more availability zones.

availability zones region pairs

Note, the logical mappings are subscription dependent and not universal.

Each region that has Availability Zones enabled will have at least three Availability Zones. As discussed, Availability Zones provide high availability and fault tolerance within a single region, so any localized outages are mitigated. Availability Zones also combine the use of update domains, so at least one of version of your deployed services remain running during planned maintenance cycles. The use of availability zones does not protect more substantial region-wide outages, this is where Azure Region pairing comes in, and both services should be used as part of your organization's disaster recovery and fault tolerance planning.

Zonal Services and Zone-redundant Services

Unlike Region pairing, not all services and regions support Availability Zones. This is an actively expanding list, so it is always best to double-check the Azure documentation.

The Azure services that are supported by Availability Zones fall into two categories:

  1. Zonal Services

  2. Zone-redundant Services

Zonal Services

Zonal services are services where the zone is specified on deployment. In order to achieve the high availability requirements, you must explicitly deploy multiple zonal services into two or more zones – virtual machine (VM) and public IP addresses are examples of zonal services.

Zone-redundant Services

Zone-redundant services, such as zone-redundant storage and SQL databases, replicate data and configuration across zones automatically. To use availability zones, specifying zone redundancy on deployments means Azure will start to replicate the data between multiple zones. For example, when deploying a new storage account specifying ZRS as the replication option will enable zone replication.

Availability Zones vs. Availability Sets

Microsoft also has a feature of VMs called Availability Sets, which are used for isolating VM resources from one another in fault domains. Using Availability Sets ensures that the VMs run on isolated hardware within a single datacenter; if there is a localized hardware outage not all VMs are affected. Availability Sets can be used in any Azure region, but are mutually exclusive with Availability Zones in enabled regions.

azure region pair

Using either Availability Sets or Availability Zones can enhance the reliability of your cloud solutions. Having two or more VMs within an availability set Microsoft gives you an SLA of 99.95%, this can be improved to 99.99% if you have two or more VMs deployed into an Availability Zone due to the enhanced fault tolerance.

Summary

In this post, we have discussed the use of Availability Zones within Azure. Larger regions within the Azure infrastructure offer these features to increase the fault tolerance of your systems and services by separating the physical hardware used to run your services over distinct data centers.These Availability Zones should not be confused with Availability Sets used for separating VMs across fault domains within a single Azure datacenter. Both features use independent power and networking to limit the impact of localized hardware failures and outages. Additionally, Availability Zones use unique physical locations as additional protection.

—Matt Boyd

Previous
Previous

Writing your First PowerShell Script

Next
Next

Understanding Loops in PowerShell