Azure VM Scale Set Costs: Autoscale Before Scheduling
A scale set should shrink on its own. When it does not, the fix starts with its autoscale setting.
What a scale set costs
A Virtual Machine Scale Set is a group of identical VMs, and each instance is billed under the same VM states and billing rules as a standalone VM: an allocated instance bills, a deallocated one stops compute billing while its disks and networking continue to charge. The Azure CLI exposes both operations separately, az vmss stop to power off and az vmss deallocate to release the hardware (az vmss reference). Only the second saves compute.
Because the unit is a group, the first question is not when to stop it but whether its instance count follows demand.
Autoscale is ZopNight’s main VMSS lever
ZopNight’s autoscaler manages Azure VMSS through the Azure Monitor Autoscale Settings API, with metric triggers and scale-out and scale-in rules. Policies set min and max instances, cooldown and metric targets, and support schedule triggers with Business Hours, Peak Hours and Weekend Scale-Down presets. Adoption is staged: a read-only subscription runs in monitor mode, and read + write unlocks recommend and autopilot modes. If a scale set already has an autoscale setting, the Create wizard asks you to adopt it or replace it rather than overwriting it, and Remove restores the previous configuration.
The VMSS-specific recommendations:
- VMSS Autoscale Setting Not Configured for scale sets with no autoscale at all.
- Scaling Target Too High (Azure), Scaling Target Too Low (Azure) and Scaling Cooldown Too Short (Azure), which read the autoscale setting’s own target and cooldown values.
- Idle Azure VM Scale Set, which prices a recurring off-hours schedule from the measured idle fraction and never proposes a one-shot scale-down or delete.
Planned peaks
For a known traffic event, Event Readiness pre-scales a VMSS using a cloud-native Azure autoscale FixedDate profile, snapshots the original min, max and desired counts, and restores them when the event completes or is cancelled.
A note on start/stop
ZopNight can also deallocate a whole scale set on a schedule, which stops compute billing while disks keep charging. For most scale sets, an autoscale setting that follows demand is the better first lever; the directory’s VMSS scheduling notes cover the deallocate-all approach.
Fact sheet: VM Scale Sets. Related: autoscaling, event readiness, target tracking scaling.