You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes.md
+29-3Lines changed: 29 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,14 +19,15 @@ Scale set orchestration modes allow you to have greater control over how virtual
19
19
> [!IMPORTANT]
20
20
> The orchestration mode is defined when you create the scale set and cannot be changed or updated later.
21
21
22
-
23
22
## Scale sets with Uniform orchestration
23
+
24
24
Optimized for large-scale stateless workloads with identical instances.
25
25
26
26
Virtual Machine Scale Sets with Uniform orchestration use a virtual machine profile or template to scale up to desired capacity. While there is some ability to manage or customize individual virtual machine instances, Uniform uses identical VM instances. Individual Uniform VM instances are exposed via the Virtual Machine Scale Set VM API commands. Individual instances aren't compatible with the standard Azure IaaS VM API commands, Azure management features such as Azure Resource Manager resource tagging RBAC permissions, Azure Backup, or Azure Site Recovery. Uniform orchestration provides fault domain high availability guarantees when configured with fewer than 100 instances. Uniform orchestration is generally available and supports a full range of scale set management and orchestration, including metrics-based autoscaling, instance protection, and automatic OS upgrades.
27
27
28
28
29
29
## Scale sets with Flexible orchestration
30
+
30
31
Achieve high availability at scale with identical or multiple virtual machine types.
31
32
32
33
With Flexible orchestration, Azure provides a unified experience across the Azure VM ecosystem. Flexible orchestration offers high availability guarantees (up to 1000 VMs) by spreading VMs across fault domains in a region or within an Availability Zone. This enables you to scale out your application while maintaining fault domain isolation that is essential to run quorum-based or stateful workloads, including:
@@ -39,6 +40,7 @@ With Flexible orchestration, Azure provides a unified experience across the Azur
39
40
40
41
41
42
## What has changed with Flexible orchestration mode?
43
+
42
44
One of the main advantages of Flexible orchestration is that it provides orchestration features over standard Azure IaaS VMs, instead of scale set child virtual machines. This means you can use all of the standard VM APIs when managing Flexible orchestration instances, instead of the Virtual Machine Scale Set VM APIs you use with Uniform orchestration. There are several differences between managing instances in Flexible orchestration versus Uniform orchestration. In general, we recommend that you use the standard Azure IaaS VM APIs when possible. In this section, we highlight examples of best practices for managing VM instances with Flexible orchestration.
43
45
44
46
Flexible orchestration mode can be used with all VM sizes. Flexible orchestration mode provides the highest scale and configurability for VM sizes that support memory preserving updates or live migration such as when using the B, D, E and F-series or when the scale set is configured for maximum spreading between instances `platformFaultDomainCount=1`. Currently, the Flexible orchestration mode has additional constraints for VM sizes that don't support memory preserving updates including the G, H, L, M, and N-series VMs and instances are spread across multiple fault domains. You can use the Compute Resource SKUs API to determine whether a specific VM SKU support memory preserving updates.
@@ -58,19 +60,23 @@ Flexible orchestration mode can be used with all VM sizes. Flexible orchestratio
58
60
| Single Placement Group | Optional. This will be set to false based on first VM deployed | Optional. This will be set to true based on first VM deployed |
59
61
60
62
### Scale out with standard Azure virtual machines
63
+
61
64
Virtual Machine Scale Sets in Flexible Orchestration mode manage standard Azure VMs. You have full control over the virtual machine lifecycle, as well as network interfaces and disks using the standard Azure APIs and commands. Virtual machines created with Uniform orchestration mode are exposed and managed via the Virtual Machine Scale Set VM API commands. Individual instances aren't compatible with the standard Azure IaaS VM API commands, Azure management features such as Azure Resource Manager resource tagging RBAC permissions, Azure Backup, or Azure Site Recovery.
62
65
63
66
### Assign fault domain during VM creation
67
+
64
68
You can choose the number of fault domains for the Flexible orchestration scale set. By default, when you add a VM to a Flexible scale set, Azure evenly spreads instances across fault domains. While it is recommended to let Azure assign the fault domain, for advanced or troubleshooting scenarios you can override this default behavior and specify the fault domain where the instance will land.
65
69
66
70
```azurecli-interactive
67
71
az vm create –vmss "myVMSS" –-platform-fault-domain 1
68
72
```
69
73
70
74
### Instance naming
75
+
71
76
When you create a VM and add it to a Flexible scale set, you have full control over instance names within the Azure Naming convention rules. When VMs are automatically added to the scale set via autoscaling, you provide a prefix and Azure appends a unique number to the end of the name.
72
77
73
78
### Query instances for power state
79
+
74
80
The preferred method is to use Azure Resource Graph to query for all VMs in a Virtual Machine Scale Set. Azure Resource Graph provides efficient query capabilities for Azure resources at scale across subscriptions.
75
81
76
82
```
@@ -88,25 +94,35 @@ Querying resources with [Azure Resource Graph](../governance/resource-graph/over
88
94
- Use the Get VM API and commands to get model and instance view for a single instance.
89
95
90
96
### Monitor application health
97
+
91
98
Application health monitoring allows your application to provide Azure with a heartbeat to determine whether your application is healthy or unhealthy. Azure can automatically replace VM instances that are unhealthy. For Flexible scale set instances, you must install and configure the Application Health Extension on the virtual machine. For Uniform scale set instances, you can use either the Application Health Extension, or measure health with an Azure Load Balancer Custom Health Probe.
92
99
93
100
### List scale sets VM API changes
101
+
94
102
Virtual Machine Scale Sets allows you to list the instances that belong to the scale set. With Flexible orchestration, the list Virtual Machine Scale Sets VM command provides a list of scale sets VM IDs. You can then call the GET Virtual Machine Scale Sets VM commands to get more details on how the scale set is working with the VM instance. To get the details for many VMs in the scale set, use [Azure Resource Graph](../governance/resource-graph/overview.md) or the standard List VM API and commands. Use the standard GET VM API and commands to get information on a single instance.
95
103
96
104
### Retrieve boot diagnostics data
105
+
97
106
Use the standard VM APIs and commands to retrieve instance Boot Diagnostics data and screenshots. The Virtual Machine Scale Sets VM boot diagnostic APIs and commands aren't used with Flexible orchestration mode instances.
98
107
99
108
### VM extensions
109
+
100
110
Use extensions targeted for standard virtual machines, instead of extensions targeted for Uniform orchestration mode instances.
101
111
102
112
113
+
114
+
115
+
103
116
## A comparison of Flexible, Uniform, and availability sets
117
+
104
118
The following table compares the Flexible orchestration mode, Uniform orchestration mode, and Availability Sets by their features.
105
119
106
120
### Basic setup
121
+
107
122
| Feature | Supported by Flexible orchestration for scale sets | Supported by Uniform orchestration for scale sets | Supported by Availability Sets |
108
123
|---|---|---|---|
109
124
| Virtual machine type | Standard Azure IaaS VM (Microsoft.compute/virtualmachines) | Scale Set specific VMs (Microsoft.compute/virtualmachinescalesets/virtualmachines) | Standard Azure IaaS VM (Microsoft.compute/virtualmachines) |
125
+
|Minimum API Version Required|2021-03-01|2015-06-01|2015-06-01|
| SKUs supported | All SKUs | All SKUs | All SKUs |
112
128
| Full control over VM, NICs, Disks | Yes | Limited control with Virtual Machine Scale Sets VM API | Yes |
@@ -131,6 +147,7 @@ The following table compares the Flexible orchestration mode, Uniform orchestrat
131
147
<sup>1</sup> For Uniform scale sets, the `GET VMSS` response will have a reference to the *identity*, *clientID*, and *principalID*. For Flexible scale sets, the response will only get a reference the *identity*. You can make a call to `Identity` to get the *clientID* and *PrincipalID*.
132
148
133
149
### Autoscaling and instance orchestration
150
+
134
151
| Feature | Supported by Flexible orchestration for scale sets | Supported by Uniform orchestration for scale sets | Supported by Availability Sets |
135
152
|---|---|---|---|
136
153
| List VMs in Set | Yes | Yes | Yes, list VMs in AvSet |
@@ -182,6 +199,9 @@ The following table compares the Flexible orchestration mode, Uniform orchestrat
182
199
| VM Insights | Can be installed into individual VMs | Yes | Yes |
183
200
184
201
202
+
203
+
204
+
185
205
### Unsupported parameters
186
206
187
207
The following Virtual Machine Scale Set parameters aren't currently supported with Virtual Machine Scale Sets in Flexible orchestration mode:
@@ -198,12 +218,14 @@ The following Virtual Machine Scale Set parameters aren't currently supported wi
198
218
- Port Forwarding via Standard Load Balancer NAT Pool - you can configure NAT rules
199
219
- System assigned Managed Identity - Use User assigned Managed Identity instead
200
220
201
-
202
221
## Get started with Flexible orchestration mode
203
222
204
223
Register and get started with [Flexible orchestration mode](..\virtual-machines\flexible-virtual-machine-scale-sets.md) for your Virtual Machine Scale Sets.
205
224
206
225
226
+
227
+
228
+
207
229
## Frequently asked questions
208
230
209
231
-**How much scale does Flexible orchestration support?**
@@ -225,7 +247,11 @@ Register and get started with [Flexible orchestration mode](..\virtual-machines\
0 commit comments