Availability sets vs availability zones vs scale sets: keeping VMs running

Three Azure features all promise "high availability" for virtual machines, but each protects against a different failure. Fault and update domains, zonal vs zone-redundant, Flexible vs Uniform scale sets, how they combine, and the exam traps.

By Tony Rough

  • AZ-104
  • AZ-305
  • compute
  • virtual machines
  • high availability
  • exam traps

You have an application on virtual machines and it has to stay up when something underneath it fails. Azure offers three features for this: an availability set, availability zones and a virtual machine scale set. They overlap enough to look interchangeable in an exam question. The useful question is always the same: what failure does this protect me from?

The one-line difference

Availability sets: separate hardware, one datacentre

An availability set is a logical grouping that tells Azure your VMs do the same job, so it shouldn’t let one hardware problem take them all down. Azure gives every VM in the set two labels:

Both counts are fixed when you create the set. Managed disks follow the same idea: each VM’s disks are aligned with its fault domain.

With two or more VMs in a set, Microsoft’s SLA is 99.95%. The set itself costs nothing; you pay for the VMs. Because the VMs sit physically close together, VM-to-VM latency is lower than across zones.

What a set doesn’t do: it doesn’t protect you from an operating system or application failure, and Learn is explicit that it’s still exposed to shared infrastructure failures such as a datacentre-level network outage, which can hit several fault domains at once. Learn also now recommends Flexible scale sets as the first choice for high availability, with availability sets most useful in regions that don’t have zones.

Availability zones: separate datacentres, one region

An availability zone is a group of one or more physically separate datacentres within a region, with independent power, cooling and networking. Zones are typically several kilometres apart and usually within 100 km of each other, so they’re close enough for low-latency replication but far enough apart that a local outage shouldn’t reach more than one. Most regions that support zones have three.

Two terms matter:

A resource that doesn’t use zones at all is nonzonal (or regional). Azure can place it in any zone, so an outage in any zone could affect it.

Learn’s guidance is that production workloads should use multiple zones where the region supports them. Zones don’t protect against a whole region going down; that needs a second region.

Scale sets: a managed, autoscaling group

A scale set creates and manages a group of load-balanced VMs from one configuration. Autoscale adds or removes instances in response to demand or on a schedule. The scale set has no charge of its own; you pay for the VMs, disks and networking it uses.

Scale sets come in two orchestration modes, and you choose at creation; it can’t be changed later:

A scale set can spread instances across fault domains in a region, or across one, two or three zones. Learn’s comparison table gives 99.95% for instances spread across fault domains and 99.99% for instances spread across multiple zones. One more thing to note: Learn says a scale set on its own can’t protect you from a datacentre failure; you get that by deploying it across zones.

How they combine

Exam traps

  1. “An availability set protects against a datacentre outage.” It doesn’t. Its fault domains guard against rack-level hardware, power and switch failures inside one datacentre. If the scenario says a datacentre might fail, the answer is zones.
  2. You can only put a VM in an availability set when you create it. To add an existing VM, move it to another set or take it out, you delete the VM (keeping its disks) and create it again.
  3. Zonal isn’t zone-redundant. One VM in zone 1 goes down with zone 1. Resilience needs instances in at least two zones.
  4. Zone numbers are logical. Zone 1 in your subscription isn’t necessarily the same physical datacentres as zone 1 in someone else’s; each subscription gets its own mapping.
  5. Zones stay inside one region. Surviving a regional outage is a job for a second region, not for zones.

Pick it in five seconds

You need… Choose
Protection from rack, power or switch failures, in a region without zones Availability set (2+ VMs)
Lowest latency between VMs, with fault domain separation Availability set or a single-zone deployment
Survive the loss of a datacentre VMs across availability zones
A group of VMs that grows and shrinks with demand Flexible scale set
Autoscale and zone resilience together Flexible scale set across zones
Identical instances managed purely as a group Uniform scale set
Survive the loss of a whole region A second region

Go deeper

VM availability is covered in the AZ-104 study guide and, from the design side, the AZ-305 study guide, with the traps called out like these. Facts checked against Microsoft Learn on 9 October 2026.

The books in this post

Never miss a free Kindle weekend

An email when an Ultra Transcenders book is free on Kindle, and when a new book comes out. Sign up and you also get the free exam-day checklist: booking, ID, the online check-in and what to expect on the day.

We'll email you to confirm first. A few emails a month at most, no spam, unsubscribe any time. The list is run by Kit; see the privacy notice.

More from the blog

All posts