Many organizations rely on large cloud providers like Azure, which offer flexible and resilient infrastructure that is suitable for enterprise workloads that cannot afford to experience disruptions. One major characteristic of this infrastructure is that it is organized into separate Availability Zones (AZs), so if there is an outage in one data center, other AZs will remain unaffected. To achieve high availability on Azure, you can take advantage of multiple Availability Zones.
In this post, we’ll review the concept of Availability Zones and how they function, covering the various options that Azure offers, including availability packages and other services and resources. We’ll also show how NetApp Cloud Volumes ONTAP can help you maintain high availability on Azure.
Azure Availability Zones are separate data center units within Microsoft Azure, each with its own power, cooling and networking. By running services on multiple availability zones, you can make your applications resilient to failure or disruption in your primary data center.
An Azure Region is a complex of Azure data centers located in a specific geographic location - Azure regions are typically hundreds of miles apart. There are currently 54 Azure regions available in 140 countries. Physically, an Azure Region complex is the size of a city block and has several buildings; typically, each availability zone is in a separate building. Each Azure region has a minimum of three availability zones, allowing you to run two isolated copies of your applications.
Azure high availability includes a spectrum of options, allowing progressively more confidence that an application will stay alive in the face of failure.
Below are four options for ensuring a Virtual Machine (VM) is highly available. As we explain below, Azure’s high availability mechanisms, specifically Availability Zones, extend beyond VMs to additional Azure services.
Single VM—running a Virtual Machine (VM) on Azure with no replication.
Availability Sets—running a VM with one or more replicated copies on separate hardware within the same Availability Zone, providing resiliency against machine failure.
Availability Zones—running a VM with one or more replicated copies on different Availability Zones, providing resiliency against data center failure.
Region Pairs— running a VM with one or more replicated copies on different Azure Regions (but always staying within the same geopolitical boundary, typically meaning the same country), protecting against natural disasters and large-scale outages.
Azure guarantees progressively higher uptime in its Service Level Agreements (SLA), depending on the availability option you choose:
90% uptime for on single instance VMs with premium storage
95% uptime for VM deployed in an Availability Set (AS)
99% uptime for VM deployed across two Availability Zones (AZ)
Azure Availability Zones—Supported Services and Resources
Azure Virtual Machines A VM can be replicated across two or more Availability Zones. You define this when creating a VM. At that point, you must decide if the machine will be part of an Availability Set (AS), which does not provide redundancy across Availability Zones, or within an Availability Zone (AZ), which does guarantee multi-AZ redundancy.
Azure SQL Database Azure SQL Database service can be set up with a Zone-redundant configuration. This is only available in the Premium or Business Critical tiers, because these tiers anyway set up three replicated versions of your database instances. Zone-redundant configuration is not enabled by default—but you can enable it at no cost—as long as you are in the relevant price tiers. See our Azure calculator to simulate Azure service pricing.
VM Scale Set You can deploy VMs in a VM Scale Set (VMSS). VMSS lets you create and manage a group of identical, load-balanced VMs, and dynamically add or remove VMs from the set. If you set up your VMSS with availability sets, you have the option to deploy a single set per Availability Zone, and load balance traffic across zones.
Azure Standard Load Balancer The Azure Standard Load Balancer has support for Availability Zones. The load balancing resource itself is regional and is already redundant across zones. However, it can be used to direct traffic within a zone (zonal) or across multiple Availability Zones (zone-redundant).