CostFinOpsAzure

The True Cost of Idle Azure Resources

Orphaned disks, idle VMs, unused public IPs — they add up faster than you think. Here's how to find and eliminate Azure waste.

3 min read

The Silent Budget Drain

Cloud waste isn't dramatic. Nobody gets paged at 2am because a forgotten VM is burning $340/month. It just quietly accumulates — across subscriptions, resource groups, and teams who assumed someone else was watching.

The average Azure environment carries 20-30% waste. For a $50,000/month cloud bill, that's $10,000-$15,000 going nowhere every month.

Seven Types of Azure Waste

Unsave's cost engine detects seven categories of waste:

  1. Orphaned Disks — Managed disks left behind after VM deletion. These keep billing at their provisioned tier rate even with zero I/O.
  2. Idle VMs — Virtual machines averaging under 5% CPU utilization over 14 days. Often dev/test boxes that were never shut down.
  3. Unused Public IPs — Allocated but not associated with any resource. Each costs ~$3.65/month — trivial alone, significant at scale.
  4. Idle Load Balancers — No backend pool members or zero traffic. Standard LBs cost ~$18/month whether they're serving traffic or not.
  5. Idle App Service Plans — Plans running with no apps deployed. A forgotten S1 plan costs $73/month.
  6. Unattached Network Interfaces — NICs not connected to any VM. Usually left behind after VM scale-in operations.
  7. Over-provisioned Resources — VMs and databases running well below their tier's capacity. A D4s_v3 running at 12% CPU should be a D2s_v3.

Right-Sizing: Beyond Simple Waste

Waste detection finds resources doing nothing. Right-sizing finds resources doing less than they're provisioned for.

Unsave's right-sizing engine analyzes 14 days of Azure Monitor metrics:

  • CPU utilization — average, peak, and P95
  • Memory usage — available bytes vs. total
  • Network throughput — ingress and egress patterns
  • Disk I/O — read/write operations and throughput

Based on these metrics, each VM is classified:

ClassificationCriteriaRecommendation
Idle<5% CPU, minimal I/OShutdown or delete
Underutilized5-35% CPUDownsize SKU
Right-sized35-80% CPUNo action
Overutilized>80% CPUUpgrade SKU

Each recommendation includes the current monthly cost, recommended SKU cost, and projected savings.

FinOps Scoring

Beyond individual findings, Unsave calculates a FinOps Score (0-100) across four dimensions:

  • Reservation Coverage (30%) — are you using reserved instances where it makes sense?
  • Right-Sizing (25%) — are resources matched to actual usage?
  • Waste Elimination (25%) — how much detectable waste remains?
  • Budget Adherence (20%) — are you staying within defined thresholds?

The score gives you a single metric to track cost optimization maturity over time, with letter grades from A+ to F.


Find your Azure waste in 60 seconds. Try Unsave free at unsave.io.