We’ve all been there—facing the challenge of picking the best Azure cost-saving option. Recently, while working on a project, I noticed that we were underutilizing our Azure reservations. This got me thinking: Are we really losing money, or are there times when Pay as you go is the better choice? I decided to dig into the specifics to figure out when it truly makes sense to use each option.
Understanding Azure’s Payment Options
- Azure Savings Plan:
- What It Is: Commit to a set hourly spend for 1 or 3 years. The plan automatically applies savings across your account, no matter the region or resource type.
- Best For: Businesses with predictable cloud usage that want lower costs without locking into specific resources.
- https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-compute-overview
- Azure Reservations:
- What It Is: Pre-purchase Azure services (like virtual machines) for 1 or 3 years, locking in lower rates.
- Best For: Organizations with consistent workloads, offering up to 72% savings compared to Pay as you go pricing.
- https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/save-compute-costs-reservations
- Pay as you go (PAYG):
- What It Is: Pay only for what you use, with no upfront commitment.
- Best For: Businesses with fluctuating or unpredictable workloads that want to avoid long-term commitments.
Feature | Azure Savings Plan | Azure Reservations | Pay as you go |
Commitment | 1 or 3 years of committed hourly spend | 1 or 3 years commitment to specific resources | No commitment |
Flexibility | Applies to various resources and regions | Specific to reserved resources | Maximum flexibility |
Cost Savings | Moderate (varies with usage) | High (up to 72%) | None (standard rates apply) |
Best For | Predictable cloud usage, flexibility needed | Consistent, predictable workloads | Fluctuating or unpredictable usage |
Billing | Upfront or monthly | Upfront or monthly | Pay per usage |
Analyzing Costs: B-Series and D-Series VMs
For this analysis, I focused on B-series (burstable) and D-series (general-purpose) virtual machines (VMs), using the Azure Pricing Calculator for the West Europe region. I didn’t analyze every possible configuration, just a few common ones, as shown in the table below. I also used the hybrid benefit, to avoid complicating the calculations. This would have brought us no value, due to various operating systems and their licensing models.
I focused solely on the instance costs. I excluded storage, public IPs, and other costs that persist even when the VM is deallocated. Keep in mind that if your company has a negotiated rate, you’ll need to adjust the calculations accordingly.
Here’s a quick look at the monthly costs:
Instance Type | Pay as you go (730h) | Pay as you go (168h) | Pay as you go (210h) | Savings Plan (1Y) | Savings Plan (3Y) | Reservations (1Y) | Reservations (3Y) |
B2s v2 | €70.81 | €16.30 | €20.37 | €54.64 | €41.04 | €43.61 | €30.03 |
B4s v2 | €141.62 | €32.59 | €40.74 | €109.28 | €82.07 | €87.23 | €60.03 |
D2as v5 | €132.13 | €30.41 | €38.01 | €115.44 | €100.70 | €103.55 | €88.78 |
D4as v5 | €264.26 | €60.82 | €76.02 | €230.88 | €201.40 | €207.01 | €177.53 |
When to Use Each Option
- Pay as you go: Best for testing or development environments used during business hours or having a shorter lifespan. This avoids monthly payments until the reservation period ends.
- Reservations: Ideal for VMs running nearly 24/7, offering significant savings.
- Savings Plan: Similar to reservations but with more flexibility.
Utilization Thresholds
Here’s when switching to Reservations or a Savings Plan becomes more cost-effective than Pay as you go:
Instance Series | Savings Plan (1Y) | Savings Plan (3Y) | Reservations (1Y) | Reservations (3Y) |
Bsv2-series | 563 hours (77%) | 423 hours (58%) | 450 hours (62%) | 310 hours (42%) |
Dasv5-series | 638 hours (87%) | 556 hours (76%) | 572 hours (78%) | 491 hours (67%) |
For Bsv2-series VMs, cost savings kick in sooner than for Ddasv5-series VMs. For instance, a 3-year reservation becomes cheaper for Bsv2-series VMs after less than half a month of use. If your usage is below 310 hours a month for Bsv2-series or 490 hours for Ddasv5-series, stick with Pay as you go.
A few takeaways for Azure cost model
- The costs between each Azure region can differ, sometimes even quite substantially.
- Your companies negotiated rate can influence which Azure cost model is more beneficial
- The purpose and lifespan of the machine (or system) can make your cost model choice easier
- Remember, that when you shut down (deallocate) a machine, you still pay for disks, Public IPs, and other additional services used by a VM.
Even if you don’t fully utilize your reservation or savings plan, you’ll still save money—just not as much. The key is to choose the option that best matches your usage patterns, and let the numbers guide you.