When dealing with public cloud computing, deciding to reserve or pay-as-you-go for your resources is generally seen as a strategic chess move – it requires foresight, planning, and a clear understanding of your organization’s needs. In this article, we’ll browse through the nuances of this decision-making process, exploring overviews, benefits, limitations, pricing considerations, break-even points, and ultimately, as a desired outcome, reaching a well-informed conclusion.
Azure presents users with three primary options for resource payment – Reservations, Savings Plans, and Pay-as-You-Go. Reservations involve committing to a fixed term for specific resources and offering potential discounts; Savings Plans mean committing to compute resources in a much more flexible way (but with less discount), while Pay-as-You-Go provides total flexibility with no upfront commitment but at standard rates.
Pay As You Go Pricing Overview
Pay as you go means you are charged for what you use, with list price (or, in case of specific agreements with your Microsoft sales team, with your company’s list price). The formula for pay-as-you-go is very simple as it typically multiplies the scaling item of the selected resource by the timeframe that the item allows us to charge for.
Just to give an example, the price of a Virtual Machine is calculated by multiplying the cost of the selected model, i.e. a D2s v5 and in the selected Azure region (as prices changed according to the data center location), by the number of hours per month that I plan to use the VM.
I always recommend customers to explore all the available free services before deciding for a specific cloud service and how to purchase it.
Pay As You Go Pricing Benefits
The pay-as-you-go model is the chameleon of cloud consumption. It adapts to varying workloads, allowing for dynamic scaling and flexibility. This approach is ideal for businesses with fluctuating resource needs or those dipping their toes into cloud waters.
The main benefit of using pay-as-you-go is the flexibility to switch off your resources at any time without losing money. Therefore, this approach is usually best for development environments where I must spin up and delete once the pilot or the project has been tested and I got my results.
It is also useful to accommodate unexpected spikes of traffic that I am unable to forecast for any reason, for example a new ecommerce application that will run on black Friday for the first time, therefore with little past data to build an accurate forecast. In this case, using pay-as-you-go is the first bet and will allow for a more accurate forecast and possibly savings with the next iteration.
Pay As You Go Pricing Limitations
However, there are a few limitations to using Pay As You Go Pricing as well.
- Flexibility comes at a cost.
- Pay-as-you-go rates are typically higher than reserved rates.
- As usage scales, so does the bill.
- Organizations with predictable workloads might find themselves paying a premium for the convenience of flexibility.
The ultimate goal of public cloud governance is to control your spending and, therefore, ideally, to have very few unexpected workloads and their associated spending.
Reserved Instances Pricing Overview
Azure Reservations or Savings Plan is simply a billing discount that is booked in advance with the condition of spending the amount of money that the reservation or SP is entitled to. At the time of writing, there are several resources that can be reserved or linked to an SP, and that are typically discounted based on hourly usage: these have a use-it-or-lose-it policy – if, for any reason, your cloud resources have not used the discount, you will pay for the reserved object anyway.
Reserved Instances Pricing Benefits
The main benefits are evident and purely monetary: you can lock in cost savings, mitigate price fluctuations, and gain financial predictability with reservations/SP. This approach suits scenarios where resource demand is steady, providing a cost-effective solution for stable workloads. Long-term commitments also make budgeting more straightforward.
Reserved Instances Pricing Limitations
However, there are a few limitations to using reservation/SPs as well.
- Adapting to changing workloads can be challenging, as reservations commit you to specific configurations for the reserved term.
- Unpredictable spikes in usage might render reserved resources underutilized.
But I’d say that the biggest limitation is tied to non-correctly tracking their usage, therefore paying for the committed resource and using a different resource in pay-as-you-go, which, in fact means paying for the resource twice. This might seem extreme, but it is a very common scenario when there is little governance and the FinOps process has yet to be established. Long story short, you must put in the work for a near 100% usage of your committed resources for the exercise to be successful.
Pay As You Go vs Reserved: Which is Right for You?
Both models are valid and have pros and cons. Calculate the potential savings with reservations against the variable costs of pay-as-you-go. Understand the impact of commitment and flexibility on your budget, ensuring alignment with your financial goals.
The break-even point becomes the pivot in your decision-making process. Analyze your workloads, estimate usage patterns, and identify the point at which reservations yield cost savings compared to pay-as-you-go. This is the tipping point where commitment meets value.
For each resource you plan to reserve, you need to find out whether the time you will keep that object switched on makes it convenient to make a monetary commitment. If you plan to use the resource for a time that is bigger than the break-even, then reserve it. If you are close to the break-even point, consider switching off your VM or resource as much as you can to get below that point.
The following is the generic formula for calculating the break-even hours: (Monthly cost of reserved resource (1 or 3 years) / Pay − as − you − go hourly price).
The choice between reservations/SP and pay-as-you-go is not a one-size-fits-all decision. It’s a strategic move that will leverage your organization’s unique needs, workloads, capabilities, and financial goals. By weighing the benefits, limitations, and pricing nuances, and calculating the break-even point, you’re equipped to make a move that aligns with both your present circumstances and future aspirations.
Be aware that if your decision to move to Azure is final, then your final goal should always be to get the best, lowest, cheapest price for any used resources, therefore in my FinOps engagements, the commitment part is always an important one, to be performed after proper right sizing and cleaning up, and with the ultimate goal of saving a good percentage of the cloud bill on top of your optimized virtual data center.