VMSS, VMSS Flex, what are they? And what’s the differences?

This blog is a repost from ITOps Talk Blog

Hello folks,

I’ve been looking at ways to scale regular VM up and down without having to create a full VM template used by the existing VM Scale Set.  And I wanted a way that did not force me to choose between Availability and Scalability. I found my saving grace with Virtual Machine Scale set with flexible orchestration (VMSS Flex for short)

The way it’s been so far you almost HAD to choose.  For example.  If I’m doing a database cluster, I need to ensure that I have replicas up, and that some percentage of those VM are always up.  (and yes I know that if I’m looking for resiliency and scalability for a database I’d be better off with a PaaS service)   but for this example I can use Availability set allowing you to spread those VM across fault domains. (Azure Fault domains are defined as group of VMs that share a common power source and network switch.).  I could also use Availability Zones  (unique physical locations within an Azure region).

VMSS, VMSS Flex, what are they? And what’s the differences?

On the other side – the Scalability side –  of that choice we have VM Scale Set in Uniform orchestration mode – essentially allowing me to create a VM template and “stamp” out as many as I need. (VM Scale Set is really built to deploy and manage a set of identical, virtual machines.) but with a scale set you don’t have as much control over each node as you would with a regular VM.  You can only have one set of VM size for your set…

VMSS Flex is really the cumulation of all the things we learned with all the options listed above.

VMSS Flex is like a scale set, where you’re still defining a template, defining capacity and where you want them (fault domains and zones), BUT…  it’s also like an Availability Set where you can put specific instance in this grouping.  For example, I can setup a VM with specific configuration and place it in Fault Domain 1 and another specifically configured VM and place it in fault domain 2. VMSS Flex also support scalability (auto-scale) based on schedule or metrics.  That’s where the flexibility starts but not where it stops.

The scaling out is NOT limited to VMs of the same size like we had in the traditional VM scale sets (otherwise known as VM Scale Sets with Uniform orchestration).  You could start with 3 large VM for the standard load but scale out or burst with Spot instances. This enables you to scale out your application while maintaining fault domain isolation that is essential to run quorum-based or stateful workloads, including:

  • Quorum-based workloads
  • Open-Source databases
  • Stateful applications
  • Services that require High Availability and large scale
  • Services that want to mix virtual machine types, or leverage Spot and on-demand VMs together
  • Existing Availability Set applications

VMSS Flex now gives you FULL control over these VMs.  You have control over the NICs the Disks, you can snapshot them, back them up individually, use Azure Site recovery…   Everything you can do with the existing VM ecosystem.

VMSS, VMSS Flex, what are they? And what’s the differences?

This has real potential.  VMSS Flex is still in preview.  If you want to check it out, follow the instructions here.

To conclude, As far as I’m concerned, VMSS Flex should be the location for ALL my VMs going forward.  And By the way we are working on a series that will cover:

  1. Quick create
  2. Availability at scale
  3. Cost optimization
  4. Types of workloads
    1. Stateful, Open source DBs
    2. Stateless web apps
  5. Load balancing
  6. Managing individual VMs
  7. Manually scale and Metrics based scale
  8. Predictive autoscaling

And more…

So subscribe to this blog and don’t miss a thing.



Continue your learning with the IT Ops Talk YouTube Channel

This blog is part of Azure Week. Check it out for more great content!

About the Author:

As a Cloud Ops Advocate, Pierre Roman engages with the operations and infrastructure communities on behalf of Microsoft. He is part of a team that drives growth and adoptions of the Azure platform by providing upskilling guidance and by taking in feedback to take back to the product groups. With over 25 years of experience in the industry, he brings a well-rounded view of all facets of the Ops/infra lifecycle. His experiences enable him to relate to his audiences and cultivate relationships at all levels (from the nuts and bolts guy/gal to management.) He’s a husband, a dad, a hockey fan, a gadget freak and a geek. Pierre is always ready for a conversation (in English or français – naturellement).


Roman, P. (2021). VMSS, VMSS Flex, what are they? And what’s the differences? Available at: https://techcommunity.microsoft.com/t5/itops-talk-blog/vmss-vmss-flex-what-are-they-and-what-s-the-differences/ba-p/2452028 [Accessed: 7th July 2021].

Share this on...

Rate this Post: