INSIGHTS
Azure reserved instances vs savings plans: how to decide
When an Azure reservation beats a savings plan, when it does not, how to split the two, and what the February 2027 exchange change does to the decision.
Patrick Rezende
·
Buy a reservation for compute that will run in the same VM family and region, around the clock, for the whole term. Cover the rest of your steady compute with a savings plan, which trades some discount for the freedom to move between services, sizes and regions. Right-size first. From February 1, 2027, new reservations for savings-plan-covered services can't be exchanged, so the split matters more than it used to.
What is the difference between a reservation and a savings plan?
An Azure reservation is a one or three year commitment to a specific product in a specific region, for example a quantity of D-series v5 virtual machines in Canada Central. You pay for it whether the matching resources run or not, and the discount lands only on usage that matches.
An Azure savings plan is a one or three year commitment to spend a fixed dollar amount per hour on eligible services, anywhere. There are two as of October 2026: the savings plan for compute and the savings plan for databases. The hourly amount is measured at the discounted savings plan rate, not at pay-as-you-go prices. A $10 per hour commitment absorbs more than $10 of pay-as-you-go usage.
Both are billing constructs. Neither changes how your resources run.
How do they compare side by side?
As of October 2026, from Microsoft Learn and the Azure savings plan pricing page:
Reservation | Savings plan for compute | Savings plan for databases | |
|---|---|---|---|
What you commit to | Product, region, quantity | Dollars per hour | Dollars per hour |
Maximum discount quoted by Microsoft | Up to 72% | Up to 65% | Up to 35% |
Terms | 1 or 3 years | 1 or 3 years | 1 year (pricing page) |
Services | VMs, SQL, Cosmos DB, Redis, storage capacity, Databricks, Synapse, App Service stamp, Premium SSD P30 and up, others | VMs, App Service (Premium v3, Isolated v2), Functions Premium, Container Instances, Container Apps, Dedicated Host, Spring Apps Enterprise | SQL Database, SQL Managed Instance, PostgreSQL, MySQL, Cosmos DB, DocumentDB, SQL Server hourly licences |
Scope options | Resource group, subscription, management group, shared; changeable any time | Same | Same |
Change the commitment later | Exchange (until the 2027 change), refund within the cap, trade in for a savings plan | No | No |
Cancel and refund | Yes, up to USD 50,000 of cancelled commitment per rolling 12 months per billing profile or enrollment | Not allowed | Not allowed |
Auto-renew default | On | Off | Off |
Two rows deserve a second look. Reservations renew automatically by default, so a reservation bought three years ago for a workload you have since rebuilt will quietly buy itself again unless somebody switches renewal off. And savings plan rates are not frozen: Microsoft states that current savings plan pricing is used when applying the benefit, whenever the plan was bought.
Which one gets applied first?
Each hour, Azure applies reservations first, because they are narrower and usually carry the larger discount. Whatever eligible usage is left goes to savings plans, starting with the usage that gets the biggest savings plan discount, until the hourly commitment runs out. Three-year plans are consumed before one-year plans, and narrowly scoped plans before shared ones. Usage above the commitment pays the pay-as-you-go rate. An hour of unused commitment is gone; it does not roll over.
This ordering is why mixing the two works. The reservation takes the predictable core, and the savings plan sits on top as a flexible layer that picks up whatever the reservation does not match.
When does a reservation win?
A reservation is the right call when all of these hold:
The workload runs 24 hours a day. Dev and test machines that are deallocated at night are poor candidates. (If your dev VMs are only stopped and not deallocated, they are still billing you, which is a separate problem to fix first.)
It has stayed in the same VM family and region for at least the last few months, and nobody plans to migrate it during the term.
The service has no savings plan at all. Azure Cache for Redis, Blob storage capacity, Databricks, Synapse and large Premium SSDs can only be discounted with a reservation.
Instance size flexibility helps more than people expect. With it on, which is the default for shared scope, a VM reservation applies across sizes in the same flexibility group by ratio. Microsoft's own example: one reserved DS4_v2 (ratio 8) covers eight DS1_v2 machines, or two DS2_v2 plus one DS3_v2. It does not cross into another group, so a move from general purpose to memory optimized sizes leaves the reservation stranded.
When does a savings plan win?
Use a savings plan for steady compute that changes shape. Typical examples in mid-market tenants: AKS node pools that get upgraded to a new VM series once a year, App Service plans that teams resize, workloads that may move region for latency or data residency, and Container Apps that grow while VMs shrink. A savings plan follows the spend through all of that.
It is also the safer first purchase when you have never committed before. You can size it at the floor of your eligible usage and add more later. There is no exchange and no refund, so the floor has to be a real floor.
What does the February 2027 exchange change do to this decision?
Microsoft announced on July 30, 2026 that from February 1, 2027, reservations for services covered by savings plans can no longer be exchanged. At announcement that covered Virtual Machines, Dedicated Host, App Service, SQL Database, SQL Managed Instance, PostgreSQL, MySQL, Cosmos DB and DocumentDB. Reservations bought before February 1, 2027 keep one final exchange after that date, and the reservation you get from that final exchange can't be exchanged again.
What stays: instance size flexibility, scope changes, refunds within the USD 50,000 cap, and trade-in of a reservation for a savings plan. The trade-in is the escape hatch that matters. If a VM reservation stops fitting, you can roll its remaining value into a savings plan, as long as the new plan's total commitment is at least the reservation's remaining commitment. You do take on a fresh one or three year term when you do it.
So in practice, a VM reservation bought after February 2027 is not a dead end. It is a commitment that can only move in one direction, toward a savings plan.
Worked example: splitting a compute floor
Example, with illustrative discounts. Check your own price sheet before using any of these numbers.
A company's savings-plan-eligible compute runs at $70 to $120 per hour at pay-as-you-go rates over the last 60 days, never below $70. Of that $70 floor, $40 per hour is a fleet of the same VM family in one region that has been stable for 18 months. The other $30 per hour is AKS nodes and App Service plans that change family about once a year.
Assume, for this example only, a three-year reservation discount of 50% on that fleet and a three-year savings plan discount of 40% on the mixed usage.
Approach | Hourly commitment | Hourly saving | Saving per month (730 h) |
|---|---|---|---|
Savings plan only, sized to the $70 floor | $42.00 | $28.00 | $20,440 |
Reservation on the $40 fleet, savings plan on the other $30 | $20.00 reserved + $18.00 plan | $20.00 + $12.00 = $32.00 | $23,360 |
Reservations (VM and App Service) on the full $70 | $35.00 | $35.00 if fully used, much less after the AKS upgrade | Not recommended |
The split is worth $2,920 a month over the savings plan alone. That is the price of flexibility on the stable part, and in this example it is worth paying for, because the fleet has a track record. The third row looks best and is the one that goes wrong: the moment the AKS nodes move to a new series, a chunk of that reservation goes unused until someone exchanges it, and after February 2027 there may be no exchange left.
How to find your stable compute
Reservation candidates are machines that have been the same size in the same place for a long time. This Resource Graph query lists running VMs by region and size so you can see where the fleets are:
It shows a snapshot, not history, and it does not include scale set instances in uniform mode. Pair it with Cost analysis: filter to Virtual Machines, group by meter, and look at daily cost over the last 60 to 90 days. A flat line is a reservation candidate. A line that steps up and down with deployments belongs under a savings plan.
Azure Advisor gives savings plan recommendations too, but they only look at the last 30 days of usage for each billing subscription. We covered the broader limits of what Azure Advisor does not do separately.
What to do this week
Open Reservations in the portal and sort by use. Anything well below full use needs a scope change to shared, a check that instance size flexibility is on, or an exchange while exchanges are still unrestricted.
Check the renewal setting on every reservation that expires in the next six months. Turn it off where the workload has changed.
Clean up before committing. Microsoft's own sequence is right-size, fix existing commitments, then buy reservations, then savings plans. A discount on an idle VM is still a bill.
Check licences separately. VM reservations and the compute savings plan cover compute only, not Windows Server or SQL Server licence charges. Azure Hybrid Benefit covers those if you hold the licences; the database savings plan can also cover SQL Server hourly licence charges on VMs.
If you plan to buy VM or database reservations, decide before February 1, 2027 whether you want them to carry the old exchange right.
Commitment coverage and use are among the checks Elos runs every week, because a reservation that was right last year is often wrong now and nothing in the portal says so.
Frequently asked questions
Is an Azure savings plan or a reservation cheaper?
For the same workload at full use, a reservation usually gives the larger discount. Microsoft quotes up to 72% off pay-as-you-go for reservations and up to 65% for the savings plan for compute. The reservation only applies to one product, one region and one instance size flexibility group, while the savings plan follows eligible compute across services and regions. Cheaper on paper only matters if the reservation stays fully used for the whole term.
Can I cancel an Azure savings plan?
No. As of October 2026, Microsoft states that savings plan purchases can't be cancelled or refunded, and a savings plan can't be exchanged for a reservation or another savings plan. You can change its scope at any time and buy additional plans. Size the hourly commitment against the lowest sustained usage you expect for the full term, after right-sizing.
What changes for Azure reservations on February 1, 2027?
Reservations bought after February 1, 2027 for services that savings plans cover, such as Virtual Machines, App Service and Azure SQL Database, can't be exchanged. Reservations bought before that date keep one final exchange. Refunds within the USD 50,000 rolling 12-month limit, instance size flexibility and trade-in to a savings plan are not affected.
Do reservations and savings plans work together?
Yes. Azure applies reservation benefits first, because they are narrower and usually deeper. Savings plans then cover remaining eligible usage each hour, starting with the usage that gets the highest discount, until the hourly commitment is used up. Anything above the commitment is billed at pay-as-you-go rates. Unused commitment in an hour is lost.
Sources
See where your Azure money is leaking.
Start with the free Score: ten questions, no tenant access. Or go straight to the 20-minute call.