Home / Azure

AzureChecklistIntermediate

Transformation: an Azure cost programme — rightsizing, reservations, savings plans and clean-up

Turn Azure spend from a monthly surprise into a managed programme. Allocate costs by tag, remove waste, rightsize with Advisor, then commit with reservations and savings plans in the right order, and keep it going with budgets and reviews.

Deepak Bhardwaj3 min read

Applies toAzure Cost Management, Azure Advisor, Azure reservations, Azure savings plan for compute, Azure Hybrid Benefit

The order matters

  1. Visibility (who spends what)
  2. Waste removal
  3. Rightsizing and scheduling
  4. Licensing benefits
  5. Commitments (reservations, savings plans)
  6. Governance to keep it there

Committing before rightsizing locks in waste for one to three years.

1. Visibility

  • Required tags (owner, costcenter, env, app) enforced by Azure Policy; inherit tags to costs in Cost Management.
  • Monthly cost views per app and per owner, emailed automatically.
az consumption usage list --start-date 2026-09-01 --end-date 2026-09-30 \
  --query "[].{name:instanceName, cost:pretaxCost}" -o table | sort -k2 -nr | head -20

2. Waste

# Unattached managed disks
az disk list --query "[?diskState=='Unattached'].{name:name, rg:resourceGroup, gb:diskSizeGb, sku:sku.name}" -o table
# Unassociated public IPs
az network public-ip list --query "[?ipConfiguration==null].{name:name, rg:resourceGroup}" -o table
# Deallocated VMs still paying for disks
az vm list -d --query "[?powerState=='VM deallocated'].{name:name, rg:resourceGroup}" -o table

Also: old snapshots, empty App Service plans, idle load balancers and gateways, forgotten test environments, Log Analytics tables nobody queries.

  • Unattached disks, IPs and snapshots reviewed and deleted
  • Empty plans and idle gateways removed

3. Rightsize and schedule

az advisor recommendation list --category Cost -o table
  • VMs below about 20% CPU and memory for 30 days downsized
  • Dev/test VMs auto-shutdown (az vm auto-shutdown -g rg -n vm --time 1900)
  • Non-prod AKS node pools scaled down or stopped out of hours
  • Storage lifecycle rules move cold blobs to cool/cold/archive tiers
  • Premium disks that don't need the IOPS moved to Standard SSD or Premium SSD v2

4. Licensing

  • Azure Hybrid Benefit applied to Windows Server and SQL Server where you own eligible licences with Software Assurance
  • Dev/test subscriptions use Dev/Test pricing offers where eligible
az vm update -g rg-app -n vm-app01 --license-type Windows_Server

5. Commitments

Instrument Best for Flexibility
Reservations Stable, specific resources (VM family/region, SQL vCores, Cosmos RU, storage) Lower; exchanges have rules
Savings plan for compute Steady compute spend that changes shape (VM sizes, regions, App Service, Functions Premium, Container Apps) Higher

Use Advisor's reservation and savings plan recommendations based on the last 30–60 days after rightsizing. Start with a commitment that covers your stable baseline, not your peak.

  • Commit after rightsizing, at baseline level
  • Utilisation of reservations and savings plans reviewed monthly

6. Keep it going

  • Budgets with alerts per subscription and per app owner
  • Anomaly alerts in Cost Management
  • Monthly FinOps review with engineering owners, tracking savings achieved