Model a Virtual Machine Scale Set with a daily peak window and a Spot mix, and compare it to a fixed fleet.
A scale set bills every instance-hour, so the cost is the time-weighted average instance count rather than the peak. Mixing Spot capacity into the set multiplies part of that average by a much lower rate, but Spot instances can be evicted with 30 seconds' notice, so the Spot share should only cover work that tolerates interruption. The gap between the average and the fixed-fleet figure is what autoscaling is worth, and it is usually larger than any negotiated discount; Spot prices vary by region and size and change continuously, so treat the discount here as an assumption and check current rates in the Azure pricing calculator.
Azure Scale Set
average instances = (peak hours × peak count + (24 − peak hours) × baseline count) ÷ 24; monthly = on-demand share × rate × 730 + Spot share × discounted rate × 730.
average instances = (peak hours × peak count + (24 − peak hours) × baseline count) ÷ 24; monthly = on-demand share × rate × 730 + Spot share × discounted rate × 730. A scale set bills every instance-hour, so the cost is the time-weighted average instance count rather than the peak. Mixing Spot capacity into the set multiplies part of that average by a much lower rate, but Spot instances can be evicted with 30 seconds' notice, so the Spot share should only cover work that tolerates interruption.
The gap between the average and the fixed-fleet figure is what autoscaling is worth, and it is usually larger than any negotiated discount; Spot prices vary by region and size and change continuously, so treat the discount here as an assumption and check current rates in the Azure pricing calculator.
This calculator takes 7 inputs: Baseline instances, Peak instances, Hours per day at peak, On-demand instance rate, Share of instances on Spot, Spot discount, Billed hours per month. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.