Azure Savings Plans are a spend-based commitment discount. You commit to a minimum hourly spend (for example, $10/hour) over a 1-year or 3-year term, and in return Azure applies discounts of up to 65% on eligible compute usage — automatically, without you having to specify which VMs or services to cover in advance.
The key distinction from Reservations is flexibility: a Savings Plan covers your compute spend regardless of VM size, region, or operating system. This makes Savings Plans well-suited to environments where compute shapes change frequently, while Reservations remain the better choice where usage is stable and predictable.
If you would like to learn more about Reservations and Savings Plans the below video where we talk with Obinna Nwokolo from the Microsoft Commercial team may be interesting to you.
How Azure Savings Plans Work
When you purchase a Savings Plan, you commit to spending at least $X per hour on covered compute services. Azure applies the Savings Plan discount to your eligible usage each hour, up to your committed amount. Any usage beyond your hourly commitment is charged at pay-as-you-go rates.
Unlike Reservations, you're not reserving a specific instance — you're committing to a level of spend. The discount follows the usage, not the resource. If you scale down your VMs in one region and spin up more in another, the Savings Plan discount applies to the new usage automatically.
Characteristic | Details |
|---|---|
Commitment type | $/hour spend commitment (e.g., $50/hour) |
Term | 1-year or 3-year |
Payment options | All upfront, Partial upfront, or Monthly |
Scope | Shared (billing account) or single subscription |
Flexibility | Applies to eligible usage regardless of VM size, region, OS, or service family |
Maximum discount | Up to 65% vs pay-as-you-go (varies by service and term) |
Overage | Usage beyond the committed hourly amount is billed at pay-as-you-go rates |
Unused commitment | Unused hourly commitment does not roll over — each hour is evaluated independently |
What Services Are Covered
There are two types of Azure Savings Plans. The Compute Savings Plan is the one most organisations will use — it covers a broad range of compute services. The Azure Machine Learning Savings Plan is a narrower plan specific to ML compute.
Savings Plan — covered services
Service | Savings Plan Type | Coverage |
|---|---|---|
Virtual Machines | Compute | All VM families and sizes, all regions (except av1 and Bare Metal) |
Azure App Service | Compute | Premium Plan and Isolated Plans — Consumption plan is not covered (and is already cheap) |
Azure Functions | Compute | Premium Plans |
Azure Kubernetes Service | Compute | VM nodes only |
Azure Container Instances | Compute | Container execution |
Azure Dedicated Host | Compute | Physical servers for dedicated VM usage |
Azure Virtual Desktop | Compute | Charges for VM used by services |
Azure Databricks | Compute | Charges for VM used by services |
Azure SQL Database | Database | |
Azure SQL Managed Instance | Database | |
Azure Database for PostgreSQL | Database | |
Azure Database for My SQL | Database | |
Azure Cosmos DB | Database |
Savings Plans vs Reservations
Both are commitment-based discounts, but they work differently and suit different situations. Most organisations end up using both — Reservations for stable, identifiable workloads and Savings Plans to provide a discount floor across the rest of their variable compute.
Feature | Savings Plan | Reservation |
|---|---|---|
Commitment unit | $/hour spend | Specific resource (VM size, region, etc.) |
Flexibility | High — applies regardless of VM family/size/region | Low to medium — tied to specific resource attributes |
Maximum discount | Up to 65% | Up to 72% (higher for stable, predictable workloads) |
Best for | Dynamic, variable compute — environments where shapes change | Predictable, stable workloads — same VM size running continuously |
Application order | Applied after Reservations — Reservations always take priority | Applied first, before Savings Plans |
Cancellation | No | Allowed (up to $50k lifetime limit, with early termination fee) |
Exchange | Not available | Not available (policy changed — exchanges were removed) |
Services covered | Compute / database | Broader — includes Cosmos DB, SQL, Storage, Redis, and more |
When you have both in place, Azure applies Reservation discounts first to any matching usage, and then Savings Plan discounts cover remaining eligible compute usage up to your committed hourly amount. They are complementary, not competing.
Architect's Perspective — Sizing and Structuring Your Savings Plan
Commit to your baseline, not your peak
The most common mistake with Savings Plans is over-committing. Your committed hourly amount should reflect your baseline compute spend — the level you're confident you'll hit every single hour of the term. Usage above the commitment gets pay-as-you-go pricing, which isn't ideal but is recoverable. A commitment you can't fully utilise costs you money every hour for the duration of the term.
A useful starting point: look at your lowest-spend hours over the past 90 days in Azure Cost Management. That's a reasonable lower bound for a commitment. If you're growing predictably, you can factor in near-term growth, but be conservative — you can always purchase additional Savings Plans later.
Scope: shared vs single subscription
Savings Plans can be scoped to a single subscription or shared across all subscriptions on a billing account. Shared scope is almost always the right choice for organisations with multiple subscriptions, because the discount pools across all eligible usage rather than being siloed in one subscription. A shared-scope Savings Plan covering $50/hour applies to the highest-discountable usage across your entire estate first.
Single subscription scope only makes sense if you need to assign the discount to a specific cost centre for chargeback purposes and can't handle the allocation complexity of a shared plan.
Use Reservations for stable workloads first
Before sizing a Savings Plan, identify any workloads that are genuinely stable — same VM family, same region, running continuously. Those are better served by a Reservation, which offers a slightly higher discount (typically 5–10% more than a Savings Plan for equivalent commitment) and can be attributed to a specific resource for cost tracking purposes.
Once you've covered your predictable workloads with Reservations, use a Savings Plan to provide a discount floor for the remaining variable compute. This combination — Reservations for what you know, Savings Plans for what fluctuates — is the approach that extracts the most value from commitment discounts.
1-year vs 3-year terms
3-year terms offer meaningfully higher discounts — typically 15–25% more than a 1-year plan for the same commitment level. The decision comes down to confidence in your Azure usage over that timeframe. If you're in a period of significant change — cloud migration, architectural transformation, rapid growth — a 1-year plan preserves more flexibility. If your Azure footprint is relatively stable and cost reduction is a priority, the 3-year saving is worth the commitment.
Common Optimisation Strategies
Start with a utilisation analysis
Before purchasing, pull your compute spend for the last 90 days from Azure Cost Management, broken down by hour. Identify the consistent baseline — the spend level you maintain even in off-peak hours. That's your starting commitment figure. Azure Cost Advisor will also generate Savings Plan recommendations based on your usage history.
Layer Reservations and Savings Plans
Cover your most predictable, identifiable workloads (specific VMs running 24/7, App Service Premium plans that are always on) with Reservations. Then set a Savings Plan commitment sized to cover your remaining variable compute baseline. The Reservation discount applies first; the Savings Plan picks up the rest. This two-layer approach maximises discount rates overall.
Monitor utilisation, not just spend
A Savings Plan that's consistently under-utilised is costing you money. Track utilisation rate (the percentage of your committed hourly amount you're actually using) over time. If you're regularly at 60–70% utilisation, your commitment was too large. You can't reduce it, but knowing the gap helps you make a better-sized decision at renewal.
Consider consolidated billing accounts for shared scope
If your organisation runs Azure across multiple subscriptions under one billing account, a shared-scope Savings Plan is significantly more efficient than subscription-scoped ones, because it pools eligible usage across all subscriptions automatically. If you're still running siloed subscriptions with separate billing accounts, consolidating under one billing account unlocks this benefit.
Plan renewals proactively
Savings Plans don't auto-renew — you need to repurchase when the term expires. Mark expiry dates well in advance. If you want to set up auto-renewal, this can be configured in the Azure portal at the time of purchase, but it will renew at the same commitment level regardless of whether your usage has changed. Manual renewal gives you the opportunity to right-size based on your current usage.
How Can Turbo360 Cost Analyzer Help?
Savings Plans add a layer of complexity to cost visibility — the committed spend and the actual usage don't always map cleanly in cost reports. Turbo360 Cost Analyzer helps you maintain clear visibility across your commitment discounts.
Savings Plan utilisation tracking
The value of a Savings Plan depends on using it. Cost Analyzer shows you your Savings Plan utilisation rate — the proportion of your committed hourly amount that is being consumed each day. If utilisation is consistently below 100%, you can see exactly how much of your commitment is going unused and identify what's driving the gap. You can also trigger alerts if it falls below a given threshold.
Savings Plan Expiry Monitoring
You can get alerts from Turbo360 to let you know a savings plan will expire soon.
FAQ
Can I use a Savings Plan alongside Reservations?
Yes, and most organisations should. Reservations are applied first to matching usage, and then the Savings Plan covers remaining eligible compute spend up to your committed hourly amount. They're complementary — Reservations for predictable workloads, Savings Plans for variable compute.
What happens if my usage in a given hour is less than my committed amount?
You still pay the committed amount. Unused commitment in a given hour is lost — it doesn't roll forward. This is why right-sizing your commitment to your genuine baseline is important. If you regularly under-use your commitment, you're paying for capacity you're not discounting.
What happens if my usage in a given hour exceeds my commitment?
Usage up to your committed amount gets the Savings Plan discount. Everything above is billed at pay-as-you-go rates. There's no penalty for exceeding the commitment — you simply don't get the discount on the overage. This is why committing to your baseline (rather than your peak) is the right approach.
Can I cancel a Savings Plan if my usage drops significantly?
No you can not cancel a savings plan at this time.
Are Azure App Service Savings Plans available for all plans?
No. Savings Plans cover App Service Elastic Premium v3 (Ep) plans only. If you're running workloads on Shared, Basic, Standard, or Premium v2 plans, those aren't covered by Savings Plans. Premium v3 is the plan tier designed for production workloads that benefits from commitment discounts. If you're on an older Premium tier, it's worth considering whether upgrading to Ep v3 makes sense — you'd gain both the Savings Plan eligibility and the underlying performance improvements in that plan tier.
Useful Resources
Turbo360 blog posts
Related playbook pages
Microsoft resources