Orchestration modes API comparison


We recommend using Flexible Virtual Machine Scale Sets for new workloads. Learn more about this new orchestration mode in our Flexible Virtual Machine Scale Sets overview.

This article compares the API differences between Uniform and Flexible orchestration modes for Virtual Machine Scale Sets. To learn more about Uniform and Flexible Virtual Machine Scale Sets, see orchestration modes.

Instance view

Uniform API Flexible alternative
Virtual Machine Scale Sets Instance View Get instance view on individual VMs; Use Resource Graph to query power state

Scale set lifecycle batch operations

Uniform API Flexible alternative
Deallocate Invoke Single VM API - Deallocate
Delete VMSS Batch delete API supported by VMSS in Flexible Orchestration Mode
Get Instance View Invoke Single VM API - Instance View
Perform Maintenance Invoke Single VM API - Perform Maintenance
Power Off Invoke Single VM API - Power Off
Redeploy Invoke Single VM API - Redeploy
Reimage Invoke Single VM API - Reimage
Reimage All Not applicable
Restart Invoke Single VM API - Restart
simulate Eviction Invoke Single VM API - simulate Eviction
Start Invoke Single VM API - Start

Get or Update

Uniform API:

Virtual Machine Scale Sets VM Get or Update Instance:

Flexible alternative:

Invoke Single VM APIs:

Get or Update scale set VM instances

Uniform API Flexible alternative
Get scale set VM details Get virtual machine
Update scale set VM instance Update virtual machine

Instance protection

Uniform API Flexible alternative
Instance Protection ARM Lock Resource for Instance Protection type behavior

List instances

Uniform API:

VMSS List Instances:

  • Returns the scale set ID associated with each instance

Flexible alternative:

Azure Resource Graph:

| where type == "microsoft.compute/virtualmachines" 
| where properties.virtualMachineScaleSet.id contains "portalbb01" 

Scale set instance operations

Uniform API:

Virtual Machine Scale Sets Operations:

Flexible alternative:

Invoke operations on individual VMs.

Virtual machines Operations:

  • Reimage: invoke single VM API - Reimage on Ephemeral OS VMs only

VM extension

Uniform API:

Virtual Machine Scale Sets VM Extension:

Flexible alternative:

Invoke operations on individual VMs.


Uniform API Flexible alternative
Load balancer NAT pool Specify NAT rule to specific instances


Networking behavior will vary depending on how you choose to create virtual machines within your scale set. Manually added VM instances have default outbound connectivity access. Implicitly created VM instances do not have default access.

For more information on networking for Flexible scale sets, see scalable network connectivity.

Scale set APIs

Uniform API:

Uniform Virtual Machine Scale Sets APIs:

Flexible alternative:

Not supported on Flexible Virtual Machine Scale Sets.

Next steps