This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Community Hub.
Authors: Jerry Steele, Senior Product Manager
We're thrilled to introduce the public preview of VMSS Zonal Expansion. This feature enables you to take regionally (non-zonal) configured VMs and distribute across Azure availability zones in a zonal configuration, enhancing your business continuity and resilience with minimal disruption and potentially increasing your availability SLA from 99.95% to 99.99%.
Azure availability zones are distinct data centers within a region, each with its unique power, network, and cooling system. Azure ensures the highest SLA guarantees for VMs distributed across multiple availability zones, otherwise known as a zonal redundant configuration. Previously, migrating VMs from a non-zonal configuration to a zonal or zone redundant configuration was manual, time-consuming, and led to significant app downtime. Our new features simplify the end to end process for migrating your VM infrastructure to span availability zones.
This feature allows you to modify a virtual machine scale set (VMSS) to expand the set of zones over which to spread VM instances. New instances will be evenly and explicitly spread across availability zones, allowing you to update your scale set environment to the Azure recommended zone-redundant availability strategy without deleting and recreating instances and without application downtime. This preview is supported for VMSS stateless infrastructure workloads that do not need to preserve disks or network resources. It is not supported for scale sets with stateful workloads or used with Service Fabric or Azure Kubernetes Services.
- This feature enables you to increase the availability and resiliency of your scale set by taking advantage of higher zonal availability SLA (99.99%) vs regional availability SLA (99.95%)
- Update the selection of zones over which the scale set will spread instances without deleting and recreating the scale set
- Expand your scale set to take advantage of new availability zones that were not available when the scale set was created.
How does it work?
Consider a regional virtual machine scale set with an application running across 10 instances. A regional scale set does not have zones explicitly specified (zones= or zones=null). When this scale set was created in the southcentralus region, the region did not support Availability Zones. Since then, the region has been upgraded to support 3 Availability Zones. Workloads where VM instances are spread across Availability Zones receive a higher availability SLA than regional deployments, and you would like to take advantage of the improved availability to improve the reliability of your application.
Before this preview feature was enabled, you could not change the zonal configuration of a virtual machine scale set, so you would have to recreate your application in a new zonal scale set. With the VMSS Zonal Expansion feature, expanding to a zonal scale set can be done in place without application downtime.
VMSS zonal expansion is done in three steps:
- Prepare for zonal expansion: Check your quota, the availability of your VM size and disk types in the desired zones, and the validity of your scale set configuration for zonal expansion.
- Update the zones parameter on the scale set: Use the REST API, Azure Portal, Azure CLI, or Azure PowerShell to change the zones parameter on the scale set. For example, using the CLI
az vmss update --set zones=["1","2","3"] -n myScaleSet -g myResourceGroup
- Add new zonal instances and remove original instances: Update the capacity of the scale set to add additional instances in the selected zones. Then, scale in to remove the original regional VMs. You can either manually scale out and in, or automate the process with rolling upgrades + maxsurge (also in preview).
This example describes expanding from a regional scale set (no zones defined) to zone spanning scale set (3 zones defined). You could also expand from zonal (1 zone defined) to multiple zones defined.
We understand that the applications you deploy to the cloud are mission critical, and how important it is that the applications you build on top of Azure and virtual machines and virtual machine scale sets are reliable and resilient in the face of rapidly changing requirements, usage, network traffic and internet environments. This is the beginning of a set of features we are planning to help you achieve the highest reliability and SLAs for your mission critical workloads on Azure.
This is part of our ongoing commitment to helping you elevate the availability of your workloads to the highest SLAs. We look forward to your feedback on these features!