Skip to main content

Command Palette

Search for a command to run...

What is Azure VM Scale Sets (VMSS)?

Published
5 min read
What is Azure VM Scale Sets (VMSS)?
I

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:

  1. VM Scale Set

    • The group of identical VMs
  2. Load Balancer or Application Gateway

    • Distributes traffic across instances
  3. Health Probes

    • Checks which instances are healthy
  4. Autoscale Engine

    • Decides when to add or remove instances
  5. 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

    1. Go to 👉 https://portal.azure.com

    2. Sign in with your Microsoft account.

Step 2 – Create a Virtual Machine Scale Set

  1. Search for Virtual Machine Scale Set

  2. Click Virtual Machine Scale Set

  3. Click Create

Step 3 – Basics Configuration

Fill the following:

Project Details

  • Subscription: Select your subscription

  • Resource Group:

    • Click Create new

    • Name: vmss-win11-rg

    • Click OK

      Scale Set Details

      • Name: win11-vmss

      • Region: Choose e.g. East US, West Europe, or nearest to you

        • Orchestration mode: Uniform

        • Security type: Standard

        • Scale Set Details

          • Name: win11-vmss

          • Region: 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