Skip to content

Commit fbd631b

Browse files
acrolynx updates
1 parent 1aacb43 commit fbd631b

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

articles/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,25 @@ To protect your Virtual Machine Scale Sets from datacenter-level failures, you c
1919

2020
## Design considerations for availability zones
2121

22-
Virtual Machine Scale Sets supports 3 zonal deployment models:
22+
Virtual Machine Scale Sets supports three zonal deployment models:
2323

2424
- Zone redundant or zone spanning (recommended)
2525
- Zonal or zone aligned (single zone)
2626
- Regional
2727

2828
### Zone redundant or zone spanning
2929

30-
A zone redundant or zone spanning scale set will spread instances across all selected zones, `"zones": ["1","2","3"]`. By default, the scale set will perform a best effort approach to evenly spread instances across selected zones. However, you can specify that you want strict zone balance by setting `"zoneBalance": "true"` in your deployment. Each VM and its disks are zonal, so they will be pinned to a specific zone. Instances between zones are connected by high-performance network with low latency. In the event of a zonal outage or connectivity issue, connectivity to instances within the affected zone may be compromised, while instances in other availability zones should be unaffected. You may add capacity to the scale set during a zonal outage, and the scale set will add additional instances to the unaffected zones. When the zone is restored, you many need to scale down your scale set to the original capacity. A best practice would be to configure [autoscale](virtual-machine-scale-sets-autoscale-overview.md) rules based on CPU or memory usage. The autoscale rules would allow the scale set to respond to a loss of the VM instances in that one zone by scaling out new instances in the remaining operational zones.
30+
A zone redundant or zone spanning scale set spreads instances across all selected zones, `"zones": ["1","2","3"]`. By default, the scale set performs a best effort approach to evenly spread instances across selected zones. However, you can specify that you want strict zone balance by setting `"zoneBalance": "true"` in your deployment. Each VM and its disks are zonal, so they are pinned to a specific zone. Instances between zones are connected by high-performance network with low latency. In the event of a zonal outage or connectivity issue, connectivity to instances within the affected zone may be compromised, while instances in other availability zones should be unaffected. You may add capacity to the scale set during a zonal outage, and the scale set adds more instances to the unaffected zones. When the zone is restored, you many need to scale down your scale set to the original capacity. A best practice would be to configure [autoscale](virtual-machine-scale-sets-autoscale-overview.md) rules based on CPU or memory usage. The autoscale rules would allow the scale set to respond to a loss of the VM instances in that one zone by scaling out new instances in the remaining operational zones.
3131

3232
Spreading instances across availability zones meets the 99.99% SLA for instances spread across availability zones, and is recommended for most workloads in Azure.
33-
33+
they
3434
### Zonal or zone aligned (single zone)
3535

36-
A zonal or zone aligned scale set will place instances in a single availability zone `"zones": ['1']`. Each VM and its disks are zonal, so they will be pinned to a specific zone. This configuration is primarily used when you need lower latency between instances.
36+
A zonal or zone aligned scale set places instances in a single availability zone `"zones": ['1']`. Each VM and its disks are zonal, so they are pinned to a specific zone. This configuration is primarily used when you need lower latency between instances.
3737

3838
### Regional
3939

40-
A regional Virtual Machine Scale Set is when the zone assignment is not explicitly set (`"zones"=[]` or `"zones"=null`). In this configuration, the scale set will create Regional (not-zone pinned) instances and will implicitly place instances throughout the region. There is no guarantee for balance or spread across zones, or that instances will land in the same availability zone. Disk colocation is guaranteed for Ultra and Premium v2 disks, best effort for Premium V1 disks, and not guaranteed for Standard SKU (SSD or HDD) disks.
40+
A regional Virtual Machine Scale Set is when the zone assignment isn't explicitly set (`"zones"=[]` or `"zones"=null`). In this configuration, the scale set creates Regional (not-zone pinned) instances and implicitly places instances throughout the region. There is no guarantee for balance or spread across zones, or that instances land in the same availability zone. Disk colocation is guaranteed for Ultra and Premium v2 disks, best effort for Premium V1 disks, and not guaranteed for Standard SKU (SSD or HDD) disks.
4141

4242
In the rare case of a full zonal outage, any or all instances within the scale set may be impacted.
4343

@@ -48,7 +48,7 @@ A fault domain a fault isolation group within an availability zone or datacenter
4848
- Static fixed spreading (platformFaultDomainCount = 5)
4949
- Spreading aligned with storage disk fault domains (platformFaultDomainCount = 2 or 3, for regional deployments only)
5050

51-
With max spreading, the scale set spreads your VMs across as many fault domains as possible within each zone. This spreading could be across greater or fewer than five fault domains per zone. With static fixed spreading, the scale set spreads your VMs across exactly five fault domains per zone. If the scale set cannot find five distinct fault domains per zone to satisfy the allocation request, the request fails.
51+
With max spreading, the scale set spreads your VMs across as many fault domains as possible within each zone. This spreading could be across greater or fewer than five fault domains per zone. With static fixed spreading, the scale set spreads your VMs across exactly five fault domains per zone. If the scale set can't find five distinct fault domains per zone to satisfy the allocation request, the request fails.
5252

5353
**We recommend deploying with max spreading for most workloads**, as this approach provides the best spreading in most cases. If you need replicas to be spread across distinct hardware isolation units, we recommend spreading across Availability Zones and utilize max spreading within each zone.
5454

@@ -60,7 +60,7 @@ With max spreading, the scale set spreads your VMs across as many fault domains
6060
> [!IMPORTANT]
6161
> Placement groups only apply to Virtual Machine Scale Sets running in Uniform orchestration mode.
6262
63-
When you deploy a scale set, you also have the option to deploy with a single [placement group](./virtual-machine-scale-sets-placement-groups.md) per Availability Zone, or with multiple per zone. For regional (non-zonal) scale sets, the choice is to have a single placement group in the region or to have multiple in the region. If the scale set property called `singlePlacementGroup` is set to false, the scale set can be composed of multiple placement groups and has a range of 0-1,000 VMs. When set to the default value of true, the scale set is composed of a single placement group, and has a range of 0-100 VMs. For most workloads, we recommend multiple placement groups, which allows for greater scale. In API version *2017-12-01*, scale sets default to multiple placement groups for single-zone and cross-zone scale sets, but they default to single placement group for regional (non-zonal) scale sets.
63+
When you deploy a scale set, you can deploy with a single [placement group](./virtual-machine-scale-sets-placement-groups.md) per Availability Zone, or with multiple per zone. For regional (non-zonal) scale sets, the choice is to have a single placement group in the region or to have multiple in the region. If the scale set property called `singlePlacementGroup` is set to false, the scale set can be composed of multiple placement groups and has a range of 0-1,000 VMs. When set to the default value of true, the scale set is composed of a single placement group, and has a range of 0-100 VMs. For most workloads, we recommend multiple placement groups, which allows for greater scale. In API version *2017-12-01*, scale sets default to multiple placement groups for single-zone and cross-zone scale sets, but they default to single placement group for regional (non-zonal) scale sets.
6464

6565

6666

@@ -69,14 +69,14 @@ When you deploy a scale set, you also have the option to deploy with a single [p
6969
7070
### Zone balancing
7171

72-
Finally, for scale sets deployed across multiple zones, you also have the option of choosing "best effort zone balance" or "strict zone balance". A scale set is considered "balanced" if each zone has the same number of VMs +\\- 1 VM as all other zones for the scale set. For example:
72+
Finally, for scale sets deployed across multiple zones, you also have the option of choosing "best effort zone balance" or "strict zone balance." A scale set is considered "balanced" if each zone has the same number of VMs +\\- 1 VM as all other zones for the scale set. For example:
7373

7474
- A scale set with 2 VMs in zone 1, 3 VMs in zone 2, and 3 VMs in zone 3 is considered balanced. There is only one zone with a different VM count and it is only 1 less than the other zones.
7575
- A scale set with 1 VM in zone 1, 3 VMs in zone 2, and 3 VMs in zone 3 is considered unbalanced. Zone 1 has 2 fewer VMs than zones 2 and 3.
7676

7777
It's possible that VMs in the scale set are successfully created, but extensions on those VMs fail to deploy. These VMs with extension failures are still counted when determining if a scale set is balanced. For instance, a scale set with 3 VMs in zone 1, 3 VMs in zone 2, and 3 VMs in zone 3 is considered balanced even if all extensions failed in zone 1 and all extensions succeeded in zones 2 and 3.
7878

79-
With best-effort zone balance, the scale set attempts to scale in and out while maintaining balance. However, if for some reason this is not possible (for example, if one zone goes down, the scale set cannot create a new VM in that zone), the scale set allows temporary imbalance to successfully scale in or out. On subsequent scale-out attempts, the scale set adds VMs to zones that need more VMs for the scale set to be balanced. Similarly, on subsequent scale in attempts, the scale set removes VMs from zones that need fewer VMs for the scale set to be balanced. With "strict zone balance", the scale set fails any attempts to scale in or out if doing so would cause unbalance.
79+
With best-effort zone balance, the scale set attempts to scale in and out while maintaining balance. However, if for some reason zone balance isn't possible (for example, if one zone goes down, the scale set can't create a new VM in that zone), the scale set allows temporary imbalance to successfully scale in or out. On subsequent scale-out attempts, the scale set adds VMs to zones that need more VMs for the scale set to be balanced. Similarly, on subsequent scale in attempts, the scale set removes VMs from zones that need fewer VMs for the scale set to be balanced. With "strict zone balance", the scale set fails any attempts to scale in or out if doing so would cause unbalance.
8080

8181
To use best-effort zone balance, set *zoneBalance* to *false*. This setting is the default in API version *2017-12-01*. To use strict zone balance, set *zoneBalance* to *true*.
8282

@@ -221,25 +221,25 @@ Expanding to a zonal scale set is done in 3 steps:
221221
#### Prepare for zonal expansion
222222

223223
> [!WARNING]
224-
> This preview allows you to add zones to the scale set. You cannot go back to a regional scale set or remove zones once they have been added.
224+
> This preview allows you to add zones to the scale set. You can't go back to a regional scale set or remove zones once they have been added.
225225
226226
In order to prepare for zonal expansion:
227-
* [Check that you have enough quota](../virtual-machines/quotas.md) for the VM size in the selected region to handle additional instances.
227+
* [Check that you have enough quota](../virtual-machines/quotas.md) for the VM size in the selected region to handle more instances.
228228
* Check that the VM size and disk types you are using are available in all the desired zones. You can use the [Compute Resources SKUs API](/rest/api/compute/resource-skus/list?tabs=HTTP) to determine which sizes are available in which zones
229229
* Validate that the scale set configuration is valid for zonal scale sets:
230-
* `platformFaultDomainCount` must be set to 1 or 5. Fixed spreading with 2 or 3 fault domains is not supported for zonal deployments.
230+
* `platformFaultDomainCount` must be set to 1 or 5. Fixed spreading with 2 or 3 fault domains isn't supported for zonal deployments.
231231
* Capacity reservations are not supported during zone expansion. Once the scale set is fully zonal (no more regional instances), you can add a capacity reservation group to the scale set.
232232
* Azure Dedicated Host deployments are not supported.
233233

234234
#### Update the zones parameter on the scale set
235235

236236
Update the scale set to change the zones parameter.
237237

238-
### [Azure Portal](#tab/portal-2)
238+
### [Azure portal](#tab/portal-2)
239239

240240
1. Navigate to the scale set you want to update
241241
1. On the Properties tab of the scale set landing page, find the **Availability zone** property and press **Edit**
242-
1. On the **Edit Location** dialog box which appears, select the desired zone(s)
242+
1. On the **Edit Location** dialog box, select the desired zone(s)
243243
1. Select **Apply**
244244

245245
### [Azure CLI](#tab/cli-2)
@@ -277,33 +277,34 @@ PATCH /subscriptions/subscriptionid/resourceGroups/resourcegroupo/providers/Micr
277277
```
278278
---
279279

280-
#### Add new zonal instances and remove original instances
280+
### Add new zonal instances and remove original instances
281281

282-
##### Manually scale out and in
282+
#### Manually scale out and in
283283

284-
[Update the capacity](virtual-machine-scale-sets-autoscale-overview.md) of the scale set to add additional instances. The new capacity should be set to the original capacity plus the number of new instances. For example, if your scale set had 5 regional instances and you would like to scale out so that you have 3 instances in each of 3 zones, you should set the capacity to 14.
284+
[Update the capacity](virtual-machine-scale-sets-autoscale-overview.md) of the scale set to add more instances. The new capacity should be set to the original capacity plus the number of new instances. For example, if your scale set had 5 regional instances and you would like to scale out so that you have 3 instances in each of 3 zones, you should set the capacity to 14.
285285

286286
You can update the zones parameter and the scale set capacity in the same ARM template or REST API call.
287287

288288
When you are satisfied that the new instances are ready, scale in your scale set to remove the original regional instances. You can either manually delete the specific regional instances, or scale in by reducing the scale set capacity. When scaling in via reducing scale set capacity, the platform will always prefer removing the regional instances, then follow the scale in policy.
289289

290-
##### Automate with Rolling upgrades + MaxSurge
290+
#### Automate with Rolling upgrades + MaxSurge
291291

292-
With [Rolling upgrades + MaxSurge](virtual-machine-scale-sets-upgrade-policy.md), new zonal instances are created and brought up-to-date with the latest scale model in batches. Once a batch of new instances are added to the scale set and report as healthy, a batch of old instances are automated removed from the scale set. This continues until all instances are brought up-to-date.
292+
With [Rolling upgrades + MaxSurge](virtual-machine-scale-sets-upgrade-policy.md), new zonal instances are created and brought up-to-date with the latest scale model in batches. Once a batch of new instances are added to the scale set and report as healthy, a batch of old instances are automated removed from the scale set. Upgrades continue until all instances are brought up-to-date.
293293

294294
> [!IMPORTANT]
295295
> Rolling upgrades with MaxSurge is currently under Public Preview. It is only available for VMSS Uniform Orchestration Mode.
296-
#### Preview known issues and limitations
296+
297+
### Preview known issues and limitations
297298

298299
* The preview is targeted to stateless workloads on Virtual Machine Scale Sets.
299300

300301
* Scale sets running Service Fabric or Azure Kubernetes Service are not supported.
301302

302-
* You cannot remove or replace zones, only add zones
303+
* You can't remove or replace zones, only add zones
303304

304-
* You cannot update from a zone spanning or zonal scale set to a regional scaleset.
305+
* You can't update from a zone spanning or zonal scale set to a regional scaleset.
305306

306-
* `platformFaultDomainCount` must be set to 1 or 5. Fixed spreading with 2 or 3 fault domains is not supported for zonal deployments.
307+
* `platformFaultDomainCount` must be set to 1 or 5. Fixed spreading with 2 or 3 fault domains isn't supported for zonal deployments.
307308

308309
* Capacity reservations are not supported during zone expansion. Once the scale set is fully zonal (no more regional instances), you can add a capacity reservation group to the scale set.
309310

0 commit comments

Comments
 (0)