Azure Cost Optimization With Reserved Capacities

One of the primary benefit of hosting our resources over cloud is the control that we get over the incurred cost. We can always manage that it doesn’t overshoot certain limits by defining some budgets and placing more governance around who can provision and scale up or scale out the resources. Once our workload is moved to production and stable on certain capacities, we get a fair idea about where do we stand and which direction we may head into. With this understanding, there can be a consideration to further optimizing the cost by choosing reserved capacities. Let’s understand and explore what these “Reserved Capacities” are all about and how can we benefit from them –

Reserved Capacities means showing our commitments to some pre-defined limits on the power of resource for a certain period of time. By power, we mean the compute resource here and the period can be one year or three years.

With regard to this commitment, you get heavy discount on your usage which may range from 35% to 55%. Let’s see what all compute resources are available under this benefit and how much discount is offered there –

Over the Azure portal, search for reservations and then go to “Reservations” under Services –

Next, click on the “Add” button and this will take you to the list of all applicable compute services

For instance, say, we want to buy reserved capacity for our SQL Database workload and select various options as shown in the snapshot below –

Before commenting on the highlighted areas above, let’s quickly take a look at few points about how the reserved capacity work –

  1. You reserve the compute power for either one year or three years which means your resource needs to operate in the same capacity for that duration (same performance tier and same hardware generation). It may sound little weird in the sense that what is the purpose of being on cloud then as we scale up/scale down the resources on need basis. And that’s a fair suspect and is clarified in the next points
  2. To continue to allow you the maximum benefits, Microsoft doesn’t bound you to use the reserved capacity for the same resource/workload. You may have another SQL Server database provisioned on the same capacity and that automatically comes under the benefits if you upgraded/downgraded the database that you originally intended to use reserved capacity on
  3. In fact, you don’t bind any resource to the reserved capacity. In simple words, consider it this way that you have bought a machine and it doesn’t matter which application is hosted on this. However, you get maximum usage of this machine only when you use it i.e. when you run your workload on this bought power
  4. Moreover, you don’t need to pay upfront, the cost for entire duration though you can but it’s totally your wish. You can get it billed to you on monthly basis

These points must have answered some of the areas highlighted in the previous snapshot and scope is what gives you the maximum flexibility if you would like your reserved capacity benefit to be utilized to its maximum that can span across multiple subscriptions.

We just looked at an example of SQL Database but you can explore it for any of the other services available there that fits your needs.

For SQL Database, note that, it covers ONLY vCore based models as that’s the only offering where you know the compute power. DTU model uses DTUs as a blended measure and you have no idea about the separation between compute and memory allocations.

Also, note that –

  1. A reservation applies to both primary as well as secondary compute replicas and covers ONLY the compute part of the resource. You are still charged for software license, storage or network on the basis of pay-as-you-go
  2. Reservations do not automatically renew

Before concluding this topic here, would like to clarify that we have talked about Cost Optimization which means effective utilization of your expenditure on the compute resources. This doesn’t mean Cost Reduction which generally identifies the opportunities around reducing cost by cutting down on the resources. So, be aware about the differences between these two approaches.