Scaling profile

Virtual machine scale sets allow you to define a scaling profile or template, which specifies the properties of virtual machine instances. Examples of properties set in the virtual machine scaling profile include:

  • VM Image
  • Admin credentials
  • Network interface settings
  • Load balancer backend pool
  • OS and Data disk settings

When you increase the capacity or instance count of the scale set, the scale set will add new virtual machines to the set based on the configuration defined in the profile. Scale sets with scaling profile are also eligible for orchestrations such as reimaging, rolling upgrades, and automatic OS updates.

Important

Virtual machine scaling profile settings are required for scale sets in Uniform Orchestration Mode, and optional for scale sets in Flexible Orchestration Mode.

Create a scale set with a scaling profile

By default, scale sets are created with a virtual machine scaling profile. See Create an Azure Virtual Machine and Create and manage Azure Virtual Machines for examples.

Create a scale set without a scaling profile

Important

Starting November 2023, VM scale sets created using PowerShell and Azure CLI will default to Flexible Orchestration Mode if no orchestration mode is specified. For more information about this change and what actions you should take, go to Breaking Change for VMSS PowerShell/CLI Customers - Microsoft Community Hub

Virtual machine scale sets in Flexible Orchestration Mode can optionally be created without a virtual machine scaling profile. This configuration is similar to creating and deploying an Availability Set in that you add to the set by manually creating virtual machine instances and adding them to the set. It's useful to create a scale set without a scaling profile when:

  • You need complete control over all VM properties.
  • You need to follow your own VM naming conventions.
  • You want to add different types of VMs to the same scale set.
  • You need to control the placement of virtual machines into a specific availability zone or fault domain.
Feature Virtual machine scale sets (no scaling profile) Availability Sets
Maximum capacity 1000 200
Supports Availability Zones Yes No
Maximum Aligned Fault Domains Count 3 3
Add new VM to set Yes Yes
Add VM to specific fault domain Yes No
Maximum Update Domain count N/A. Update domains are deprecated 20

Once you have created the virtual machine scale set, you can manually attach virtual machines.

Note

You cannot create a virtual machine scale set without a scaling profile in the Azure portal.

By default, the Azure CLI will create a scale set with a scaling profile. Omit the scaling profile parameters to create a virtual machine scale set with no scaling profile.

az group create
 --name myResourceGroup
 --location chinanorth3
az vmss create \
	--name myVmss \
	--resource-group myResourceGroup \
        --orchestration-mode flexible \
	--platform-fault-domain-count 3 

Next steps