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, instance repair, 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.
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.
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 westus3
az vmss create \
--name myVmss \
--resource-group myResourceGroup \
--orchestration-mode flexible \
--platform-fault-domain-count 3
- Create a new Virtual Machine Scale Set with a scale profile using the Azure portal.
- If you have created a virtual machine scale set without a scaling profile, you can manually attach a virtual machine.