We’re excited to announce the general availability of custom metrics for rolling upgrades on Virtual Machine Scale Sets (VMSS). This feature allows you to use the application health extension to emit custom metrics that guide the upgrade process.
Key benefits
- Control upgrade order: Define the sequence in which VMs are upgraded.
- Skip specific instances: Exclude individual VMs from upgrades without disrupting the rest of the fleet.
- Seamless integration: Works with rolling upgrade policies, automatic OS and extension upgrades, and MaxSurge.
How it works
Phase ordering
A phase is a logical grouping of virtual machines within a Virtual Machine Scale Set (VMSS). Each phase is defined by metadata emitted from the Application Health Extension via the customMetrics property. VMSS uses this metadata to assign virtual machines to their respective phases.
Within each phase, VMSS organizes upgrade batches based on the rolling upgrade policy, which considers each VM’s update domain (UD), fault domain (FD), and zone information.
Skip upgrade
Skip upgrade is a feature that allows individual virtual machine instances to be excluded from a rolling upgrade. While similar to instance protection, it integrates more seamlessly into the rolling upgrade workflow and supports instance-level application logic.
Like phase ordering, skip upgrade settings are communicated to the Virtual Machine Scale Set (VMSS) through the Application Health Extension using the customMetrics property. When a rolling upgrade is initiated, VMSS checks the custom metrics response. If skipUpgrade is set to true, the instance is omitted from the upgrade process.
Available Now
Custom metrics for rolling upgrades is available in all public Azure regions. Learn more about custom metrics for rolling upgrades on Virtual Machine Scale Sets.
Updated Jun 03, 2025
Version 1.0micahmckittrick
Microsoft
Joined October 10, 2017
Azure Compute Blog
Follow this blog board to get notified when there's new activity