What is Azure VM Scale Sets (VMSS)?

I'm Iniobong Ema, a Cloud and DevOps Engineer, I'm passionate about automation, pipelines and building scalable systems. I document my journey, share tutorials and explore modern tech solutions-one experiment at a time. From Code to Cloud: My DevOps Journey. My contact information: Phone number: 08027604029 Gmail Address: iniema2025@gmail.com, iniakan4real2017@gmail.com
Introduction
Azure Virtual Machine Scale Sets (VMSS) is a service that allows you to deploy and manage multiple identical virtual machines as a single resource.
From a real engineering perspective:
VMSS is Azure’s native solution for horizontal scaling, high availability, and automated compute management.
Instead of creating and managing individual VMs one by one, you define one VM model, and Azure automatically creates, deletes, and manages multiple instances of that model.
Why VMSS Exists (The Real Problem It Solves)
In traditional setups:
You create one VM
Traffic increases
The VM becomes slow
You manually add another VM
You configure load balancing manually
You repeat
This approach is:
❌ slow
❌ error-prone
❌ not scalable
❌ not production-grade
VMSS was created to solve this by giving you:
Automatic scaling
Built-in load balancing
Self-healing infrastructure
Consistent deployments
Simple Definition
Azure VM Scale Sets allow you to deploy and manage a group of identical virtual machines that can automatically scale in or out based on demand.
How VMSS Actually Works (Important Concept)
VMSS works using a model-based approach.
You define:
VM size
OS image
Disk type
Network settings
Extensions (software installation)
This is called the Scale Set Model.
Azure then creates:
VM instance 0
VM instance 1
VM instance 2
…and so on
All from the same model.
Key point:
You do not manage individual VMs. You manage the model, and Azure manages the instances.
VMSS is Designed for “Cattle”, Not “Pets”
This is a critical DevOps concept.
Pet servers → you name them, care for them, fix them
Cattle servers → disposable, replaceable, identical
VMSS is 100% cattle infrastructure.
If an instance fails:
Azure deletes it
Azure creates a new one
No human intervention
This is cloud-native design.
VMSS Architecture (High-Level View)
A typical VMSS setup contains:
VM Scale Set
- The group of identical VMs
Load Balancer or Application Gateway
- Distributes traffic across instances
Health Probes
- Checks which instances are healthy
Autoscale Engine
- Decides when to add or remove instances
Virtual Network & Subnet
- Where the instances live
This is all created and wired together automatically when you deploy VMSS.
Uniform Mode vs Flexible Mode (Very Important)
Azure offers two VMSS modes.
1. Uniform Mode
All VMs are identical
Same size, same image
Same configuration
Best for:
Web apps
APIs
Microservices
This is the most common and recommended mode.
2. Flexible Mode
VMs can be different sizes
More control over each instance
Closer to traditional VM management
Used in:
complex enterprise scenarios
migration projects
For learning and most production workloads → Uniform mode
VMSS with Windows Workloads (Enterprise Reality)
In real organizations, VMSS is heavily used with:
Windows Server 2019 / 2022
IIS web applications
.NET backends
Enterprise authentication systems
Line-of-business apps
Typical pattern:
Internet → Load Balancer / App Gateway → Windows VMSS → Application
So if you master VMSS with Windows, you are learning exact enterprise architecture.
What Makes VMSS Powerful (From DevOps View)
VMSS gives you:
1. Autoscaling
Automatically add/remove VMs based on:
CPU
memory
requests
custom metrics
2. High Availability
Instances are spread across fault domains
Can be spread across availability zones
No single point of failure
3. Automation
No manual VM creation
No manual configuration
Fully scriptable (CLI, PowerShell, Terraform)
4. Self-Healing
If an instance crashes:
- Azure replaces it automatically
What VMSS is NOT
VMSS is not:
A database solution
A container orchestrator (that’s AKS)
A replacement for App Service
A stateful system
VMSS is: Scalable virtual machines for stateless workloads.
Step-by-Step Guide: Creating a Windows 11 VM Scale Set (VMSS) in Azure
Prerequisites
Before you start, ensure:
You have an active Azure subscription
You are logged in to https://portal.azure.com
You have Contributor or Owner role on the subscription
Step 1 – Sign in to Azure Portal
Go to 👉 https://portal.azure.com
Sign in with your Microsoft account.
Step 2 – Create a Virtual Machine Scale Set
Search for Virtual Machine Scale Set
Click Virtual Machine Scale Set
Click Create

Step 3 – Basics Configuration
Fill the following:
Project Details
Subscription: Select your subscription
Resource Group:
Click Create new
Name:
vmss-win11-rgClick OK
Scale Set Details
Name:
win11-vmssRegion: Choose e.g. East US, West Europe, or nearest to you

Orchestration mode: Uniform
Security type: Standard
Scale Set Details
Name:
win11-vmssRegion: Choose e.g. East US, West Europe, or nearest to you
Orchestration mode: Uniform
Security type: Standard
Image
Click Image dropdown → See all images → Search for:
- Windows 11 Enterprise multi-session (if Pro is not available)
👉 Select Windows 11 Pro or Windows 11 Enterprise
Size
Click See all sizes
Choose:
Standard_B2s(Good for labs)or
Standard_D2s_v3





