Two ways to commit
- Reserved Instance (RI): you commit to a specific resource, for example a VM family in a region, for 1 or 3 years. It is the biggest discount: according to Microsoft, up to 72% on some VMs over 3 years. In practice, about 50% on a prod VM.
- Azure savings plan for compute: you commit to an hourly spend, for 1 or 3 years. The savings plan applies automatically, whatever the SKU and region, to eligible compute services (VMs, and some App Service, Functions, Container Instances offers…). The discount is slightly lower.
The comparison
| Reserved Instance | Savings plan for compute | |
|---|---|---|
| Commitment | A resource (SKU, region) | An amount per hour |
| Discount | The biggest | Slightly lower |
| Flexibility | Low, except size flexibility within a VM series | High: SKUs, regions, compute services |
| Services covered | VMs, and also databases, storage, data capacities… | Compute only |
| Changes | Exchanges and refunds possible, within limits | No cancellation, no exchange |
| Best for | Stable, known workloads | Changing estates, migrations, modernization |
Exchange and refund rules change regularly: always check the current terms before buying.
The order of application
When both coexist, Azure first applies reservations to the matching resources, then the savings plan to the rest of the eligible consumption. That lets you combine them without double counting. Azure Hybrid Benefit, which removes the cost of the Windows Server or SQL Server license, stacks with both.
When to choose a Reserved Instance
- Very stable prod applications: ERP, databases, infrastructure foundations.
- Services the savings plan doesn't cover: managed databases, storage (reserved capacity), data capacities such as Synapse or Fabric.
- When no migration or decommissioning is planned over the commitment period.
When to choose a savings plan
- A changing estate: new VM generations, frequent size changes.
- An ongoing migration or modernization, for example from VMs to App Service.
- Consumption spread across several regions.
The strategy that combines both
- Clean up before you commit: rightsizing, cleaning, auto Stop + Start on demand in non-prod. See our guide on Stop/Start.
- Measure the baseline: what runs all the time, by VM family and region.
- Cover the very stable baseline with RIs, the changing core with a savings plan, and leave the variable part on pay-as-you-go.
- Aim for 80%+ coverage of the baseline, with utilization close to 100%.
- Manage it over time: alerts before expiry, review of commitments at every architecture change.
The details that matter
- Scope: a reservation can be shared across subscriptions or limited to one subscription, resource group or management group. Shared scope maximizes utilization.
- Payment: monthly or upfront, for the same total cost.
- Renewal: plan it ahead, so you don't fall back to pay-as-you-go without noticing.
- Carbon footprint: a reservation lowers the bill, not physical consumption. See our GreenOps page.