9.3 Azure VM High Availability: Availability Sets, Zones & Proximity Placement Groups
Key Takeaways
- An Availability Set spreads VMs across 2 to 3 Fault Domains and up to 20 Update Domains, delivering a 99.95% uptime SLA once two or more VMs are in the set.
- Availability Zones place VMs in physically separate datacenters within one region and carry Azure's highest single-region compute SLA at 99.99%.
- A region that does not offer Availability Zones leaves the Availability Set as the only rack- and maintenance-fault protection available.
- Proximity Placement Groups co-locate resources to cut inter-tier network latency, and are the fix for chatty multi-tier stacks such as IIS calling a SQL Server Always On cluster.
- Combining a Proximity Placement Group with Availability Zones is contradictory, because zones are deliberately far apart while a PPG is deliberately close together.
Azure VM High Availability: Availability Sets, Zones & Proximity Placement Groups
Designing resilient enterprise infrastructure in Microsoft Azure requires engineering against both planned platform maintenance (such as hypervisor OS patching) and unplanned hardware failures (such as physical power supply outages, top-of-rack switch failures, or datacenter disasters). Windows Server workloads deployed in Azure IaaS must be architected across availability constructs to meet strict enterprise Service Level Agreements (SLAs). This section covers the three placement constructs — Availability Sets, Availability Zones, and Proximity Placement Groups (PPGs) — and the SLA each one earns. Virtual Machine Scale Sets (VMSS), autoscale rules, and Azure Dedicated Hosts are covered in section 9.4.
1. High Availability Architecture: Availability Sets vs Availability Zones
Azure provides hierarchical availability tiers depending on whether protection is needed against rack-level hardware failure, hypervisor updates, or entire datacenter facility disruptions.
+-----------------------------------------------------------------------------+
| AZURE HIGH AVAILABILITY ARCHITECTURE HIERARCHY |
| |
| [AVAILABILITY SET] [AVAILABILITY ZONES] |
| - Scope: Single Datacenter - Scope: Entire Azure Region |
| - Protects: Rack / Power / Host - Protects: Facility / Flooding / Grid |
| - SLA: 99.95% (2+ VMs) - SLA: 99.99% (2+ VMs across Zones) |
| |
| +-------------------------------+ +-----------------------------------+ |
| | Datacenter A | | Region (e.g., East US) | |
| | +-----------+ +-----------+ | | +-----------+ +-------+ +-------+ | |
| | | Rack 1 | | Rack 2 | | | | Zone 1 | | Zone 2| | Zone 3| | |
| | | FD 0 /UD 0| | FD 1 /UD 1| | | | (DC 1) | | (DC 2)| | (DC 3)| | |
| | | [VM-APP01]| | [VM-APP02]| | | | [VM-DB01] | |[VM-DB2]| |[VM-DB3]| | |
| | +-----------+ +-----------+ | | +-----------+ +-------+ +-------+ | |
| +-------------------------------+ +-----------------------------------+ |
+-----------------------------------------------------------------------------+
Availability Sets Mechanics:
An Availability Set is a logical grouping of VMs within a single Azure datacenter that isolates VM instances across distinct physical hardware infrastructure:
-
Fault Domains (FDs):
- Definition: Represents a physical rack of servers sharing a common power supply unit (PSU) and top-of-rack (TOR) network switch.
- Allocation: Azure regions provide 2 or 3 Fault Domains per Availability Set (FD 0, FD 1, FD 2).
- Purpose: Protects against physical hardware failures, cable faults, and power interruptions. VMs in distinct FDs will never fail simultaneously due to a single physical hardware failure.
- Managed Disk Alignment: When using Managed Disks, Azure automatically aligns the storage cluster fault domains with the compute fault domains, preventing shared storage hardware failures.
-
Update Domains (UDs):
- Definition: A logical grouping of underlying physical hypervisors that can undergo scheduled platform maintenance or reboot simultaneously.
- Allocation: Configurable from 1 to 20 Update Domains (default is 5).
- Purpose: When Microsoft patches the underlying host hypervisors, only one Update Domain is rebooted at a time. The platform pauses for a 30-minute recovery window before proceeding to the next UD, ensuring remaining VM instances handle active client traffic.
-
SLA: Deploying two or more VMs across distinct FDs and UDs in an Availability Set guarantees a 99.95% uptime SLA.
Availability Zones Mechanics:
Availability Zones are physically separate datacenter facilities within an Azure region, each equipped with independent power, cooling, and high-speed fiber networking.
- Regional Isolation: Protects workloads against catastrophic datacenter-level disasters (e.g., regional power grid failure, major fire, flooding).
- Latency Profile: Inter-zone fiber networks deliver round-trip latency under 2 milliseconds, supporting synchronous database replication (such as SQL Server Always On Availability Groups with synchronous commit).
- SLA: Distributing two or more VMs across two or more Availability Zones in the same region provides Azure's highest single-region compute SLA: 99.99% uptime.
- Zonal vs. Zone-Redundant Resources:
- Zonal Resource: A VM pinned explicitly to a single zone (e.g.,
Zone 1). - Zone-Redundant Resource: An Azure resource (e.g., Standard Load Balancer, Zone-Redundant Gateway, ZRS Managed Disk) whose underlying infrastructure spans all three zones automatically.
- Zonal Resource: A VM pinned explicitly to a single zone (e.g.,
| Feature | Single VM (Premium Disk) | Availability Set | Availability Zones |
|---|---|---|---|
| Scope | Single Host | Single Datacenter (Racks) | Multiple Datacenters (Region) |
| Fault Domains | None | 2 to 3 FDs | 3 Availability Zones |
| Update Isolation | None | Up to 20 UDs | Independent Zone Maintenance |
| Availability SLA | 99.9% | 99.95% | 99.99% |
| Network Latency | Lowest | Sub-millisecond | < 2 ms (Inter-zone) |
2. Proximity Placement Groups (PPGs)
While Availability Zones disperse VMs across different datacenters for disaster isolation, certain tightly coupled multi-tier Windows workloads require the absolute lowest possible physical network latency.
+-----------------------------------------------------------------------------+
| PROXIMITY PLACEMENT GROUP (PPG) TOPOLOGY |
| |
| [SAME AZURE DATACENTER / COMPUTE SPINE] |
| +---------------------------------------------------------------------+ |
| | Proximity Placement Group: PPG-Production | |
| | | |
| | +---------------------------+ +-----------------------------+ | |
| | | Web/App Tier (IIS) | | Clustered Backend (SQL AG) | | |
| | | [VM-WEB01] [VM-WEB02] | | [VM-SQL01] [VM-SQL02] | | |
| | +---------------------------+ +-----------------------------+ | |
| | \ / | |
| | ===[Sub-Millisecond RTT]== | |
| +---------------------------------------------------------------------+ |
+-----------------------------------------------------------------------------+
- Architecture: A Proximity Placement Group (PPG) is a logical grouping constraint that forces Azure to provision all assigned compute resources (standalone VMs, Availability Sets, or VMSS) within the same physical datacenter cluster and network spine.
- Latency Objective: Reduces network round-trip time (RTT) between application tiers (e.g., IIS web servers calling a backend SQL Server clustered instance) to sub-millisecond levels.
- Architectural Trade-offs & Allocation Constraints:
- Because PPGs pin VMs to a specific physical hardware cluster, future VM scaling or resizing operations may fail if the specific physical cluster runs out of capacity (
OverconstrainedAllocationRequest). - Best Practice: When deploying a PPG, deploy all required VMs and scale sets simultaneously during initial rollout rather than incrementally over time.
- Because PPGs pin VMs to a specific physical hardware cluster, future VM scaling or resizing operations may fail if the specific physical cluster runs out of capacity (
An enterprise infrastructure engineer is deploying a two-node Active Directory Domain Services environment in an Azure region that does NOT support Availability Zones. Which high-availability design provides protection against physical rack hardware failures and scheduled Azure platform hypervisor maintenance?
A Windows Server application stack consists of an IIS web frontend tier that makes high-frequency synchronous RPC calls to a backend SQL Server 2022 Always On failover cluster. The application exhibits intermittent latency timeouts due to cross-rack network hops inside the Azure datacenter. Which Azure feature should be implemented to minimize inter-tier network latency?