Azure Cost Optimization Checklist (2026)

A 36-item interactive checklist for FinOps and platform teams running mid-market Azure tenants. Your progress saves locally as you tick items.

Most mid-market Azure environments at $10k–$80k/mo of cloud spend can take 20–35% out of the bill in a single 60-day push, without rewriting a single application. The waste is spread across over-provisioned VMs, under-reserved baseline compute, untiered blob storage, NAT and cross-region egress, and Log Analytics retention defaults that nobody set on purpose.

This checklist is what we work through on Azure-focused FinOps audits. Pair it with the workload-specific AVD cost optimization checklist if you run Azure Virtual Desktop, and the broader cloud cost optimization checklist for multi-cloud teams.

0 of 0 completed

Where Azure spend actually goes

Before you optimize anything, know where the bill comes from. Typical mid-market Azure tenants we audit break down roughly like this — your mix will vary by workload, but the ranking rarely does:

Cost categoryShare of billOptimization difficulty
VMs, VMSS, AKS node pools45–60%Medium — rightsize + reserve
Managed databases (SQL DB, PostgreSQL, Cosmos DB)10–20%Medium — tier + serverless
Blob and managed-disk storage8–15%Easy — lifecycle + tier
Networking (NAT, peering, egress, App Gateway)6–14%Hard — architectural
Log Analytics, App Insights, Sentinel4–10%Easy — retention + filtering
App Service, Functions, Container Apps3–8%Easy — plan tier + scale

The pattern: compute and managed databases are the bulk of the bill but they're medium-difficulty to optimize — they need rightsizing data and reservation analysis. Storage, observability, and App Service are smaller but easy wins. Most teams should attack the easy categories first to fund the work, then tackle compute.

Case study: $52k/mo Azure tenant, B2B SaaS company

Anonymized engagement — a Series-B SaaS company running three products on Azure across two regions. AKS for application services, Azure SQL for the primary OLTP database, Cosmos DB for one product's session store, blob storage for customer file uploads, and a Sentinel + Log Analytics setup their security team had configured 18 months prior and never revisited.

Line itemBeforeAfterSaved
AKS node pools (D8s v5, mostly idle nights/weekends)$18,400/mo$10,200/mo$8,200
Azure SQL DB (Business Critical, low DTU usage)$9,600/mo$5,400/mo$4,200
Cosmos DB (provisioned RU, peak-sized)$5,200/mo$2,800/mo$2,400
Blob storage (no lifecycle, all Hot tier)$4,100/mo$1,650/mo$2,450
NAT Gateway + cross-region egress$3,800/mo$2,100/mo$1,700
Log Analytics + Sentinel (verbose ingestion)$4,200/mo$1,400/mo$2,800
App Service, misc$6,700/mo$5,200/mo$1,500
Monthly total$52,000$28,750$23,250

45% reduction over 60 days. The biggest movers: switching AKS to scheduled-scaling with mixed reservation + Savings Plan coverage, dropping Azure SQL from Business Critical to General Purpose with the right Storage Performance tier, switching Cosmos DB to autoscale RU/s, and pulling Sentinel data ingestion under control with table-level retention. No customer-facing changes.

1) VM and AKS rightsizing Typical savings: 20–35% of compute

2) Managed databases and PaaS data tier Typical savings: 25–45% of database spend

3) Reservations and Azure Savings Plans Typical savings: 30–55% on baseline compute

4) Storage lifecycle and disk hygiene Typical savings: 40–60% of storage spend

5) Networking, NAT, and egress Typical savings: 15–35% of networking spend

6) FinOps governance and observability Typical savings: 50–70% of Log Analytics + faster catch on anomalies

Azure-specific tooling worth evaluating

For mid-market Azure tenants past $30k/mo, third-party tooling often pays for itself within 2–4 months by automating what's manual on this checklist. Best fit depends on your existing stack:

We don't currently take affiliate commissions on these — if a tool comes up in an audit recommendation, it's because it fits the workload, not because it pays a referral.

Common Azure cost anti-patterns

30-day Azure cost optimization plan

  1. Days 1–3: Measure. Export 14 days of cost data by service, resource group, and tag. Pull Azure Advisor recommendations. Note the top 10 line items and the top 5 Advisor recommendations by impact.
  2. Days 4–7: Quick wins. Enable Blob lifecycle on every major container. Delete orphaned disks and snapshots. Set per-table Log Analytics retention. These are zero-risk and pay for the rest of the work.
  3. Days 8–14: Rightsize. Implement every Advisor recommendation rated "High" impact. Downsize the top quintile of underutilized VMs and SQL databases based on p95 data. Re-benchmark before committing.
  4. Days 15–21: Auto-shutdown and AKS scaling. Schedule non-production VM shutdowns. Tune AKS autoscaler min/max. Move appropriate AKS workloads to Spot node pools.
  5. Days 22–25: Networking. Audit NAT Gateway traffic, regionalize ACR, add Private Endpoints to chatty PaaS services. This is the hardest section — focus on the top 3 egress contributors only.
  6. Days 26–30: Commit the baseline. With the new (lower) stable baseline established, purchase the right Reservation/Savings Plan mix. Validate Azure Hybrid Benefit is fully applied.

Re-measure in 60 days. If the bill hasn't moved 20%, the bottleneck is almost always organizational — either nobody owns the optimization work, or the team owning it doesn't have authority to change workloads. The fix at that point is governance, not technology.

For workload-specific savings, see the AVD cost optimization checklist. For multi-cloud teams, the AWS cost optimization checklist and the broader cloud cost optimization checklist.

Want a prioritized Azure action list for your specific tenant?

Run a focused FinOps audit — we take this checklist, layer it against your actual usage and bill, and return a ranked action plan with dollar-impact estimates within 5–7 business days. Free.

Start a FinOps audit →