Azure Reservations vs Savings Plans: How to Pick in 2026
Azure Reserved VM Instances, Azure Savings Plans, and Hybrid Benefit are all discount paths — but they work differently. Here's the decision framework I use.
By Andrii Votiakov on
Azure gives you three overlapping ways to pay less for compute: Reserved VM Instances, Azure Savings Plans for Compute, and Azure Hybrid Benefit. They stack in some cases, conflict in others, and the documentation on how they interact is spread across four different pages. I've navigated this with enough clients now to have a clear framework. Here's how to think through it.
Quick answer
Buy Azure Reserved VM Instances when your VM mix is stable and you know the specific family and region for at least 12 months — savings of 33-72%. Buy Azure Savings Plans for Compute when your workload shifts across VM series or regions — savings of 15-40%, more flexibility. Apply Azure Hybrid Benefit first if you have Windows Server or SQL Server licences under Software Assurance — it's free savings on top of either discount path and takes 5 minutes to activate.
How each discount mechanism works
Azure Reserved VM Instances (RVIs)
An RVI is a 1 or 3-year commitment to a specific VM instance family and Azure region. You pay upfront (or monthly) and receive the discounted rate automatically on matching VMs.
Key characteristics:
- Scope: Single subscription or shared across your entire Azure billing account (shared scope is almost always better)
- Instance size flexibility: Within the same VM family (e.g., D-series), reservations apply across sizes — a reservation for a D4s_v3 can apply to two D2s_v3 instances
- No region flexibility: An East US reservation does not apply to West Europe resources
- Cancellations: Can be cancelled for a 12% early termination fee, or exchanged for another reservation of equal or greater value
Discount range: 33% (1-year) to 72% (3-year) depending on VM family and region.
Azure Savings Plans for Compute
Savings Plans are newer and work differently. Instead of committing to a specific VM family and region, you commit to a spend amount per hour (e.g., $5/hour). Azure applies the discount automatically to your compute spend, regardless of VM series, region, or even whether you're using VMs, App Service, or Azure Functions.
Key characteristics:
- Scope: Same subscription or shared scope options as RVIs
- Flexibility: Applies across VM families and Azure regions — no need to predict your exact VM mix
- Stacks with Hybrid Benefit: You can apply both to the same resource
- Does not stack with RVIs: Azure applies whichever discount is larger to each resource, not both
Discount range: 15-40% depending on the commitment term and VM family.
Azure Hybrid Benefit
Hybrid Benefit is not a financial commitment — it's a licence portability right. If you have Windows Server or SQL Server licences with active Software Assurance (usually via an EA or Microsoft 365 agreement), you can bring those licences to Azure VMs at no additional charge.
For Windows Server, this removes the Windows licence component from the VM price, which is 40-49% of the on-demand cost for Windows VMs. For SQL Server Enterprise, the saving can exceed 50% of the Azure SQL cost.
Apply this before modelling any other discount — it changes the baseline on-demand price that Reservations and Savings Plans apply to.
Side-by-side comparison
| Reserved VM Instances | Azure Savings Plans | Hybrid Benefit | |
|---|---|---|---|
| Commitment | VM family + region | Hourly spend | Licence only (no spend commit) |
| Discount | 33-72% | 15-40% | 40-49% (Windows) |
| Flexibility | Instance size flexible; region fixed | Across families, regions, services | N/A — applied per resource |
| Stacks? | With Hybrid Benefit | With Hybrid Benefit | With both |
| Best for | Stable, predictable workloads | Shifting or growing workloads | Any Windows/SQL workload |
How this maps to AWS equivalents
If you're coming from AWS, here's the mental model:
| Azure | AWS equivalent |
|---|---|
| Reserved VM Instances | EC2 Reserved Instances (convertible or standard) |
| Azure Savings Plans for Compute | AWS Compute Savings Plans |
| Hybrid Benefit | No direct equivalent (AWS doesn't charge separate OS licence fees) |
The key difference: AWS Savings Plans also cover Lambda and Fargate, while Azure Savings Plans cover VMs, App Service, and Azure Functions. In both cases, the Savings Plan is the more flexible option — better for growing or shifting workloads.
See the Savings Plans vs Reserved Instances post for a deeper AWS-specific comparison if you're running multi-cloud.
The decision framework
Work through this in order:
Step 1: Activate Hybrid Benefit first
If you have Windows VMs or Azure SQL using vCore pricing, check whether Hybrid Benefit is enabled on each resource. In the Azure portal: VM → Configuration → Azure Hybrid Benefit. If it's off and you have SA licences, turning it on is the first action — before buying any discount commitments.
Step 2: Establish your baseline after right-sizing
Don't buy any commitment before right-sizing. I've seen teams lock in 1-year Reservations on D8s_v3 instances, then right-size to D4s_v3 — they're still covered, but they've overpaid for flexibility they didn't need. Right-size first, then commit.
Step 3: Assess stability of your VM mix
Ask: will the same VM families in the same regions still be running in 12 months?
- Yes, very likely: RVIs make sense — higher discount, same flexibility within family
- Uncertain — likely to migrate families, add regions, or shift workloads: Savings Plans — lower discount, but you won't be stuck
- Genuinely uncertain: Start with a small Savings Plan commitment covering your floor spend, then add RVIs for specific stable workloads
Step 4: Choose RVI scope
If you go with RVIs, always use shared scope across your billing account unless you have specific chargeback requirements. Shared scope means the reservation applies to whichever subscription is using the matching VM — you don't have to manage per-subscription assignments manually.
Step 5: Start with 1-year terms
3-year terms offer better discounts but lock you in longer. Unless you're certain the architecture won't change, start with 1-year. You can always renew or exchange.
Common mistakes I see
Buying RVIs before right-sizing. The reservation applies to a VM you're about to shrink. The instance size flexibility within a family partially mitigates this (a D8s reservation covers two D4s_v3 instances), but you may end up with excess reservation you can't fully utilise.
Buying per-subscription instead of shared scope. If subscription A runs out of RVI coverage and subscription B has unused capacity, you're leaving money on the table. Shared scope fixes this automatically.
Forgetting that Savings Plans and RVIs don't stack. Azure picks the better discount for each resource. If your RVI covers the VM fully, the Savings Plan commitment still ticks down but doesn't add extra savings. Avoid over-buying Savings Plans on top of RVI coverage.
Ignoring Azure Advisor recommendations without context. Advisor will suggest Reservations based on your usage. The suggestions are often right directionally but don't account for upcoming architecture changes — treat them as input, not instructions.
Realistic numbers
Client running Azure-primary workload (~$22,000/month compute before discounts):
| Action | Monthly saving |
|---|---|
| Hybrid Benefit on 14 Windows VMs (already had SA licences) | $3,100 |
| Right-sized 8 VMs before committing | $2,400 |
| 1-year RVIs on 6 stable prod VM families (shared scope) | $3,800 |
| Azure Savings Plan for remaining variable workload | $1,200 |
Total commit-related savings: $10,500/month (48% of compute spend) over 12 months. The Hybrid Benefit portion required zero financial commitment — just 20 minutes in the portal.
Not sure which Azure discount path fits your current workload? I'm happy to look at the numbers with you on a pay-for-savings basis. Book a call.