Deploy and manage Azure compute resources
VM Availability and Scale Sets
CoreChoose zones, availability sets, and flexible-orchestration scale sets for the stated failure and scaling boundary.
Aligned to the current AZ-104 study guide, verified August 21, 2026.
Why this matters
Availability placement protects against a defined infrastructure failure, while VM Scale Sets add fleet lifecycle and scaling; neither corrects a single-instance application design by itself.
Must Know
- Availability Zones are physically separate datacenter groups within a supported region and address zonal failure when instances span zones.
- Availability sets spread two or more VMs across fault domains and update domains within a datacenter-oriented placement boundary.
- VM Scale Sets manage groups of VMs with orchestration, instance lifecycle, load-balancing integration, and scaling capabilities.
- Flexible orchestration is the current recommended mode for new workloads and supports broad VM-style management; orchestration mode is a creation-time decision.
- Autoscale changes instance count from metric or schedule rules; applications still need health-aware traffic distribution and state handling.
Compare and Distinguish
- Availability Zone vs availability set: separate zone boundary within a region vs fault/update-domain placement within one datacenter boundary.
- VM vs VM Scale Sets: individually managed server vs orchestrated fleet with coordinated instance and scaling behavior.
- Resize vs scale out: change the size of existing compute vs increase instance count.
- Flexible vs Uniform orchestration: VM-like management and heterogeneous flexibility vs identical scale-set model with Uniform-specific behavior.
Scenario examples
- Scenario: Two application VMs must remain available through failure of one datacenter zone. Think: Place instances across Availability Zones and align zonal dependencies.
- Scenario: A fleet must add instances when demand rises and remove them later. Think: Use a VM Scale Set with health-aware load balancing and autoscale rules.
- Scenario: A legacy nonzonal region needs protection from host and maintenance-domain failures. Think: Use multiple VMs in an availability set.
Exam traps
- Putting one VM in an availability set or zone does not create application redundancy.
- An availability set does not span Availability Zones.
- A scale set does not make a stateful application horizontally safe without appropriate data and traffic design.
Key takeaways
- Name the failure boundary first, then choose zones or an availability set and deploy multiple instances.
- Choose a scale set when fleet orchestration and horizontal capacity management are required.
How it works
- Azure places redundant instances across the selected physical boundary and uses platform maintenance domains where applicable.
- Autoscale evaluates configured signals and adjusts desired capacity; the scale set then creates or removes instances.
Objects and administrative surfaces
- Region and zone — supported zonal placement for VM, disk, public IP, and load-balancing dependencies.
- Availability set — fault-domain and update-domain placement for member VMs.
- VM Scale Set — orchestration mode, instance template, capacity, upgrade behavior, health, autoscale, and individual instances.
When to use it
- Use zones for zone-level resiliency in supported regions and availability sets for nonzonal fault/update separation.
- Use VM Scale Sets for a managed fleet that needs consistent provisioning or horizontal scaling.
Security and governance implications
- Apply a consistent baseline to scale-set instances and avoid manual drift that the model or upgrade process can overwrite.
- Limit who can change autoscale limits, image versions, and upgrade behavior.
How to reason about this
- For placement failure, verify regional zone support, size capacity, disk and IP compatibility, quota, and requested orchestration mode.
- For failed autoscale, inspect rule signal, evaluation window, minimum and maximum capacity, cooldown, health, and instance provisioning errors.
More detail
- Configure zones or availability sets during VM placement and keep disks, IPs, and load-balancer configuration compatible with that choice.
- Create scale sets with the intended orchestration mode, model, capacity, health, upgrade, and autoscale behavior.
Ready for the quiz?
- Which construct addresses an entire availability-zone failure?
- What does a scale set add beyond several individually created VMs?
- Why is one zonal VM still a single point of failure?
Related objectives
- D3.2.S6 — Deploy virtual machines to availability zones and availability sets
- D3.2.S7 — Deploy and configure an Azure Virtual Machine Scale Sets