CostLensOver-Provisioned Scale Set (Azure)

Over-Provisioned Scale Set (Azure)

CostLens flags Azure VM Scale Sets averaging under 10% CPU across their instances, where capacity can be reduced or autoscaled down.

Updated July 20261 min read

CostLens flags over-provisioned Azure VM Scale Sets — scale sets averaging under 10% CPU across their instances over 14 days. A scale set idling near zero is paying for instances it doesn't need; lowering the instance count or enabling autoscaling captures the difference with no impact at normal load.

How it works

Scale sets are enumerated

CostLens lists VM Scale Sets via the Azure Resource Manager API, reading each set's VM size and instance count.

CPU is measured

The scale set's Percentage CPU metric is averaged over 14 days. Sets with 2+ instances below a 10% average are flagged.

Savings are estimated

Priced conservatively as roughly half the scale set's compute cost (VM size × instance count) — the capacity a near-idle set can typically shed.

What to do

  1. Confirm the low CPU isn't masking memory- or IO-bound load, and that the set isn't sized for a rare traffic spike.
  2. Either lower the instance count, or configure autoscaling so the set scales down during low demand and up when needed.

Severity levels

SeverityEstimated monthly savings
critical>$500
high$100–$500
medium$20–$100
low<$20

Required permissions

  • Detect: Reader (scale-set metadata + Monitor metrics) — see Azure Accounts.

Limitations

  • The savings figure is a conservative estimate — right-size against your real peak-load requirements before reducing capacity.
  • Autoscaling is often the better long-term fix than a fixed lower count.
CostLens
Previous
VM Off-Hours Schedule
CostLens
Next
Registry Retention Policy