Blog Post

Azure Compute Blog
2 MIN READ

General Availability: Custom Metrics for Rolling Upgrades on Virtual Machine Scale Sets

micahmckittrick's avatar
Jun 03, 2025

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

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.0
No CommentsBe the first to comment