Virtual Machine Scale Sets (VMSS)

What it is

A Virtual Machine Scale Set runs a fleet of identical VMs created from the same image/configuration, managed as one unit, with automatic scaling and load balancing built in. VMs are added/removed on demand and spread across fault domains, update domains, or availability zones.

Why it exists

Individually managing dozens of identical VMs is impossible to scale — patching, load distribution, and right-sizing would be manual. Scale sets give automatic scale-out/in (by metric/CPU/time), homogeneity, and fleet-level manageability.

Key ideas

  • Scaling modes: manual, automatic (by metric), or autoscale rules (CPU %, queue length, schedule) — with min/max/default instance counts.
  • Horizontal scaling (scale out/in) = add/remove VM instances; vertical scaling (scale up/down) = resize instance size. AZ-104 availability module covers both.
  • Availability: instances are spread across fault domains, update domains, or availability zones automatically.
  • Instance types: uniform (old) vs Flexible orchestration (newer) — flexible runs standard marketplace images and integrates with Virtual Networks directly.
  • Integrated with Azure Load Balancer / Application Gateway and disk storage; uses a scale-set autoscale profile.
  • Critical requirement: scale sets must be able to add instances quickly — often used with images (golden images) and ephemeral OS disks.
  • Disks: instances are disposable; critical data lives in attached/data disks or storage, not the OS ephemeral disk.

How it fits (diagram)

virtual-machine-scale-set - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: virtual-machine-scale-sets/overview

Exam notes

  • Autoscale = logical combination: scale sets scale out/(add VMs) or in (remove); configure min/max and rules.
  • Metrics triggering scale often use Application Insights / diagnostic data (CPU %, message queue depth), applied via autoscale profiles.
  • Fault domains in a scale set: update each VM instance; VM instances are automatically spread — no manual FD assignment needed.
  • Promoting a new OS config → update the scale set model + rolling upgrade.
  • AZ-104: know that horizontal scaling is scale sets, vertical is resize; zone/fault-domain distinction.

Path MOC · azure-vm · vm-sizes · availability-set · availability-zones · managed-disks · azure-vm-extension

📘 Source: Microsoft Learn — Virtual Machine Scale Set