Skip to main content

Azure

The reliability requirements are the same on every cloud. What differs is the name of the tier that satisfies each one and the command that checks it. This page carries the Azure answers.

Verifying A Region

Run these against every region you intend to use, and compare the output. Zone support and GPU availability vary between regions of the same geography.

# Availability zones offered for virtual machines.
# An empty result means the region offers none.
az vm list-skus --location <region> --resource-type virtualMachines \
--query "[0].locationInfo[0].zones" -o tsv

# GPU families offered in the region
az vm list-skus --location <region> --resource-type virtualMachines \
--query "[?starts_with(name,'Standard_N')].name" -o tsv | sort -u

# Current quota and usage
az vm list-usage --location <region> -o table

Tiers That Carry High Availability

RequirementAzure serviceWhat satisfies it
PostgreSQL with high availability and read replicasAzure Database for PostgreSQL Flexible ServerGeneral Purpose or Memory Optimized. Burstable supports neither, at any size
Zone-redundant PostgreSQLSameZone-redundant high availability, which places the standby in a different zone
Cross-region PostgreSQL standbySameA cross-region read replica with a virtual endpoint. The endpoint follows promotion, so the connection string does not change
Redis with high availabilityAzure Managed RedisHigh availability enabled. Persistence depends on it
Zone-redundant block storageAzure managed disksA zone-redundant storage class. StandardSSD_LRS and Premium_LRS are zonal, and pin any pod that mounts them to one zone
Zone-redundant object storageAzure StorageZRS or GZRS

Settings That Cannot Be Changed Later

ComponentSettingConsequence
Node poolsAvailability zonesAssignment is create-time only. Changing zones means a new pool and a workload migration
PostgreSQLCompute tierBurstable can never gain high availability or read replicas
PostgreSQLGeo-redundant backupCan only be enabled when the server is created
RedisHigh availabilityCan be enabled on a running instance and never disabled

Paired Regions

Many Azure regions have a designated pair, and some services use that relationship to replicate automatically. Newer regions are not paired.

A pair is not required. A multi-region deployment works between any two regions, but where the pairing does not exist you supply the replication yourself instead of inheriting it from a service default. Choose the second region on availability zones, GPU availability and data residency, then check whether it happens to be paired.