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
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?
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.
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.
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.
| 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 |
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.
Microsoft has confirmed that Always Encrypted with Intel SGX enclaves in Azure SQL Database retires on 31 October 2027, and that App Service support for Java 8, 11 and 17 ends on 1 September 2027. Defender for Storage can now scan individual blobs and containers on demand, and Application Gateway WAF inspects IPv6 traffic in preview.
Both connect your on-premises network to Azure, but one runs encrypted over the internet and the other runs privately through a provider. How each works, the SKU changes, encryption, failover, Virtual WAN and three exam traps.
Three Azure services all "block traffic", but at different layers and in different places. What each one inspects, how they fit together, and three exam traps.
Three Azure governance controls that people mix up. RBAC decides who can act, Azure Policy decides what a resource may look like, and locks stop changes even by an Owner. Scopes, effects, exemptions, remediation, deny assignments and three traps.
The October review of Microsoft's announcements found two changes that affect the AZ-305 guide. The retirement date for Application Insights URL ping tests has moved, and Azure IoT Central is being retired.