AzureAZ-104

Azure VMSS and Availability Explained for AZ-104

Running a single VM means a single point of failure. Running a fixed fleet of VMs means paying for peak capacity during quiet periods. Virtual Machine Scale Sets solve both problems by maintaining a group of identically configured VMs that scales automatically based on demand. When traffic grows, more VMs spin up. When traffic drops, VMs scale in to save cost. The AZ-104 exam tests VMSS orchestration modes, scaling policies, Availability Sets versus Availability Zones as the availability strategy for a scale set, and the SLA implications of different deployment choices. Understanding when Azure guarantees uptime, and what is required to qualify for that guarantee, is what scenario questions test.

7 min
3 sections · 7 exam key points

Virtual Machine Scale Sets

A Virtual Machine Scale Set (VMSS) defines a template for VM instances: the OS image, VM size, extensions, and network configuration. Azure uses this template to create and manage instances in the set. All instances are identical by design. The scale set can grow or shrink instance count automatically, manually, or on a schedule. Because all instances share the same configuration, you update the entire fleet by updating the model and triggering a rolling upgrade, rather than remoting into each VM individually.

VMSS supports two orchestration modes. Uniform orchestration is the original mode: Azure manages all instances identically using a single VM model. Flexible orchestration allows instances to have different configurations within the same scale set and supports mixing VM sizes and configurations. Flexible mode is required for certain scenarios like using the scale set with an Application Gateway backend pool. For most auto-scaling web workloads, Uniform mode is simpler and sufficient.

Scaling policies define when and how the scale set adjusts instance count. Metric-based scaling adds instances when CPU utilization, memory, or a custom metric exceeds a threshold, and removes instances when it drops below another threshold. Schedule-based scaling pre-scales the set at specific times, useful for predictable traffic patterns like business hours. Instance protection marks specific instances as protected from scale-in, preventing the scale set from terminating them even when scaling down.

Availability, SLAs, and choosing the right construct

Azure SLAs for VMs depend on the deployment architecture. A single VM with Premium SSD storage carries a 99.9% uptime SLA. Two or more VMs in an Availability Set carry a 99.95% SLA. VMs deployed across two or more Availability Zones carry a 99.99% SLA. These numbers reflect Azure's commitment to platform-level availability, not application availability. Your application must be designed to handle individual VM failures regardless of which SLA tier you target.

Availability Sets distribute VMs across fault domains and update domains within a single datacenter. Fault domains represent separate physical racks with independent power and network. Update domains are groups that Azure patches sequentially during maintenance, ensuring that VMs across update domains are never all unavailable at the same time. An Availability Set configuration with two VMs across two fault domains guarantees that a single rack failure takes down at most one VM.

Availability Zones place resources in separate physical datacenters within the same Azure region. Each zone has independent power, cooling, and networking infrastructure. A zone failure, caused by anything from a power outage to a cooling failure in that datacenter, does not affect VMs in other zones. Zone-redundant deployments require careful load balancer configuration (Standard Load Balancer or Application Gateway with zone-spanning) to distribute traffic across zones and route around zone failures automatically.

How to choose the correct answer

Single VM + Premium SSD: 99.9% SLA. Minimum for non-critical production workloads.

Availability Set (2+ VMs): 99.95% SLA. Protects against rack failure and planned maintenance impact.

Availability Zones (2+ VMs across zones): 99.99% SLA. Protects against datacenter failure.

VMSS Uniform: identical instances, managed together, best for auto-scaling stateless workloads.

VMSS Flexible: mix of VM configurations in one scale set, required for some ALB/AGW integration scenarios.

Metric-based scaling: reacts to demand. Schedule-based: pre-scales for known traffic patterns.

Instance protection: prevents specific instances from scale-in, useful for stateful instances within a scale set.

Azure availability constructs and SLAs

DeploymentSLAProtects againstConfiguration required
Single VM + Premium SSD99.9%Platform hardware failuresPremium SSD OS and data disks
Availability Set99.95%Rack failure, planned maintenance2+ VMs, set configured at creation
Availability Zones99.99%Datacenter failureVMs in 2+ zones, zone-aware load balancer
VMSS across zones99.99%Datacenter failure, auto-scaleZone-spanning VMSS with load balancer

Key exam facts — AZ-104

  • VMSS: identical instances, auto-scale based on metrics or schedule, rolling upgrades via model updates.
  • Uniform orchestration: all instances same model. Flexible: varied configs, broader compatibility.
  • Availability Set fault domains: max 3, on separate physical racks. Update domains: max 20.
  • Availability Zones: 3 zones per region, physically separate datacenters, independent power and cooling.
  • Single VM SLA: 99.9% (requires Premium SSD). Availability Set: 99.95%. Availability Zones: 99.99%.
  • Scale set health monitoring: Application Health extension or load balancer health probes determine instance health.
  • Automatic OS upgrades in VMSS: rolls out new OS image to instances automatically in batches.

Common exam traps

An Availability Set with more VMs always provides higher availability.

Adding more VMs to an Availability Set increases your application's capacity and redundancy, but the SLA remains at 99.95% regardless of how many VMs are in the set. The SLA is determined by the deployment type (single VM, Availability Set, Availability Zones), not the number of instances. More VMs help with throughput and per-VM failure resilience, not with Azure's platform-level SLA commitment.

VMSS and Availability Sets serve the same purpose.

Availability Sets provide high availability for a fixed set of VMs with manual scaling. VMSS provides auto-scaling with built-in rolling upgrade capabilities, treating the fleet as a managed unit. VMSS can be configured to span Availability Zones or Availability Sets internally. They serve different operational models: Availability Sets for stable fleets, VMSS for elastic, auto-managed workloads.

Availability Zones in Azure are the same as AWS Availability Zones in terms of behavior.

The concept is similar but the implementation differs. In Azure, an Availability Zone corresponds to a physical datacenter, with three zones per region. Zone awareness must be explicitly configured at the resource level (load balancers, VMSS, managed disks must be zone-pinned or zone-redundant). Not all Azure services and regions support Availability Zones, and zone-redundant deployments may incur cross-zone data transfer charges.

Practice this topic

Test yourself on VMSS & Availability

JT Exams routes you to questions in your exact weak areas — automatically, after every session.

No credit card · Cancel anytime

Related certification topics