CAMPUX Cloud Bootcamp
Field notes · Reliability
Zones vs regions

Availability zones vs regions: designing for the failure you actually face

By Victor Thomson16 July 20267 min read

A datacenter loses power. A whole geography goes offline. These are two different disasters, and Azure gives you two different tools for them. Knowing which failure you are actually protecting against is the whole game — because paying for the wrong one is how a resilience budget gets wasted.

Every reliability conversation on Azure eventually collides with two words that sound similar and mean very different things: region and availability zone. Get them straight and the rest of resilience design falls into place. Get them muddled and you will either over-engineer a hobby app or under-protect a payroll system. So let us fix the picture once.

A region is a geography. A zone is a datacenter group inside it.

A region is a named geographic area — East US, West Europe, Australia East — where Azure runs a cluster of datacenters. When you pick where to deploy, you pick a region. An availability zone lives one level down. In Microsoft's words, availability zones are "separated groups of datacenters within a region," and each zone has "independent power, cooling, and networking infrastructure." Regions that support zones have at least three of them.

The physical geometry is the point. Zones in a region sit several kilometers apart — usually within about 100 km — far enough that a fire, flood, or power event at one is unlikely to hit another, but close enough that the network between them stays fast. Microsoft targets round-trip latency under roughly 2 milliseconds between zones, which is quick enough to replicate data synchronously across them. Two different regions, by contrast, can be an ocean apart.

What a zone-redundant deployment survives

Spread a workload across multiple zones and you get resilience to a whole class of failures: a rack, a cluster, or an entire datacenter in one zone can go down, and your service keeps running in the others. Azure calls a resource that does this zone-redundant — it is "replicated or distributed across multiple availability zones by the service." If one zone fails, Microsoft handles the failover for you.

There is a second flavor worth naming so you do not confuse them. A zonal resource is pinned to a single zone you choose. That gives you low-latency co-location — handy for a chatty set of VMs that should sit together — but it does not survive that zone going down unless you deploy matching resources in other zones yourself. Zone-redundant is the one that keeps running through a zone outage without you orchestrating anything.

A zone protects you from a datacenter dying. A region pair protects you from a geography dying. They are not the same insurance policy.

What only a second region survives

Here is the sentence to tattoo on the wall: availability zones do not protect against a full-region outage. If an entire region has a bad day — a rare but real event — every zone inside it can be affected at once. Surviving that means having your workload, or a recoverable copy of it, in a second region entirely. That is why Azure organizes many regions into region pairs: a primary and a secondary in the same geography, used for cross-region replication and staggered platform updates.

The trade is real, which is why you do not do it for everything. A second region doubles a lot of your footprint, adds the hard problem of keeping data consistent across a long distance, and forces you to think about failover and failback. You take that on for the workloads where a regional outage is genuinely unacceptable — not for the internal dashboard three people read.

The design ladder, cheapest to most resilient

1. Single instance, one zone. Fine for dev, throwaway, and anything you can rebuild. Survives nothing beyond a single node blip.
2. Zone-redundant, one region. Survives a datacenter/zone outage. For most single-region production workloads this is the primary recommended posture, and inter-zone data transfer within a region is free. This is the sweet spot for the majority of apps.
3. Multi-region (and multi-zone). Survives a whole-region outage. Microsoft's guidance for mission-critical workloads is to be both multi-region and multi-zone. Reserve it for the systems where downtime is measured in lost revenue or safety.

How to actually choose

Do not start from the architecture — start from the question "what failure would actually hurt, and how much?" Set a recovery objective: how much downtime and how much data loss can this specific workload tolerate? Then buy exactly the tier of resilience that meets it. A blog can live on a single instance. A checkout service should be zone-redundant. A national payments platform earns its multi-region bill. If a workload is boxed into one region by data-residency rules, multiple zones are your main lever for keeping it available without moving data across the border.

One last practical note: zone support is per-service. Some services are zone-redundant automatically in supported regions; others need you to switch it on, and a few gate it behind a particular tier or SKU. Check the reliability guide for each service in your stack rather than assuming — resilience you did not configure is resilience you do not have.

The takeaway

Regions and zones answer two different questions. Zones ask "can this survive a datacenter failing?" — solve it with a zone-redundant deployment inside one region, usually for free on the network side. Regions ask "can this survive a whole geography failing?" — solve it with a second region and cross-region replication, and only pay for it where the risk justifies the cost. "Zone-redundant by default, multi-region for the workloads that truly cannot go dark" is the answer of someone who has designed for the failure they actually face, not the one that sounds most impressive.

Further reading — the Microsoft docs
Drilled in Class 11 — Compute. Back to all field notes →