We are announcing an upcoming breaking change to the default orchestration mode for Virtual Machine Scale Sets created on Portal, PowerShell, and Azure CLI. This change will take effect over the next few months, starting with Portal in May 2023 and PowerShell, CLI clients in November 2023. Once the change is complete, any VM Scale Sets created on Portal, PowerShell, or CLI will automatically default to Flexible orchestration mode instead of Uniform.
You will still be able to create Uniform scale sets by specifying the desired orchestration mode when deploying your VMs. To learn more about VM Scale Set orchestration modes, please see Orchestration modes for Virtual Machine Scale Sets in Azure - Azure Virtual Machine Scale Sets | Microsoft Learn.
Starting May 2023, the Orchestration Mode for new scale sets created on portal will default to “Flexible”. You will still be able to create Uniform scale sets by selecting the “Uniform” option.
Starting November 2023, the -OrchestrationMode parameter for New-AzVmss in Az PowerShell will have a new default value of “Flexible”, replacing the current default of “Uniform”. VM Scale Sets created using New-AzVmss after this change will default to “Flexible” orchestration mode if no –OrchestrationMode is specified.
Starting November 2023, the –orchestration-mode parameter for az vmss create in Azure CLI will have a new default value of “flexible”, replacing the current default of “uniform”. VM Scale Sets created using az vmss create after this change will default to “flexible” orchestration mode if no --orchestration-mode is specified. Flexible scale sets will be configured with a Standard Load Balancer and Standard Public IP.
Before November 2023, the following command will create a scale set in Uniform orchestration mode.
$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName
az vmss create -n simplescaleset -g demorg --image UbuntuLTS --generate-ssh-keys
To create a scale set in Flexible orchestration mode prior to this change, you had to specify the desired orchestration mode (Flexible) in your command.
$vmssName = 'VMSSNAME-Flex'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -OrchestrationMode 'Flexible'
az vmss create -n simplescaleset -g demorg --image Ubuntu2204 --generate-ssh-keys –orchestration-mode flexible
Starting November 2023, the following command will create a scale set in Flexible orchestration mode.
$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName
az vmss create -n simplescaleset -g demorg --image Ubuntu2204 --generate-ssh-keys
To continue creating scale sets in Uniform orchestration mode after November 2023, you will need to specify the desired orchestration mode (Uniform) in your command.
$vmssName = 'VMSSNAME-Uniform'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -OrchestrationMode 'Uniform'
az vmss create -n simplescaleset -g demorg --image UbuntuLTS --generate-ssh-keys –orchestration-mode uniform
This change is made to ensure that our customers have access to the best possible performance and experience with VMSS Flex.
Please update your PowerShell or CLI deployment scripts to specify Uniform orchestration mode to maintain the existing behaviour of your scale sets. This update is recommended to be done as soon as possible to avoid any unintended behaviour after the change.
Unfortunately, existing Virtual Machine Scale Sets in Uniform orchestration mode cannot be migrated to Flexible orchestration mode at this time. If you would like to experience the performance benefits and new features coming to Flex, consider updating your deployment scripts to create a Flex-oriented workload.
No action is required, your scale sets will continue to perform as expected following this change.
VMSS Flexible Orchestration mode was developed to meet customer demands for reliable and fast deployments, support flexible and scalable workloads that can adjust to demand changes, and simplify the creation of highly available application infrastructure on a large scale.
We recommend using VMSS Flexible orchestration mode over Uniform orchestration mode for any new workloads or deployments. While both modes allow you to define a virtual machine profile, conduct manual or automatic scaling, and perform instance management at scale, some specific advantages that VMSS Flex has over VMSS Uniform are:
If you have any questions or concerns about this change, please do not hesitate to reach out to our support team for assistance.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.