Optimizing cloud cost: effective use of Azure savings plan for compute

Ritesh Patil
Technology @ Prospa
5 min readApr 1, 2024
Photo by Growtika on Unsplash

While working in the cloud multiverse for the past few years, I have observed a phenomenon which affect almost all organisations irrespective of how big or small they are, their cloud budget getting out of hand.

During the initial phases of their cloud adaptation journey, many organisations pay very little attention to their cloud resource requirements like:

  • Which services satisfy requirements
  • Which features are good to have v/s utmost important
  • What are the compute, storage requirements

They end up paying huge costs for a large unused resource capacity as they have already purchased it.

I am a strong advocate of starting a cloud cost management journey with your cloud adoption journey. Cloud providers have many options available which can help us during this journey. But the issue I have faced in the past is an incomplete understanding of how these cost saving options work which ended up with us not being able to use these options effectively.

In this series of articles, I will try to demystify some of the lesser-known facts about these offers which I learnt over time and hope they will help you to maximize your cloud cost savings.

In this first article, let's talk about the Azures savings plan for compute !!!

What is Azure savings plans for compute ?

According to Azure documentation, Azure savings plan for compute is a flexible pricing model. It provides savings up to 65% off pay-as-you-go pricing when you commit to spend a fixed hourly amount on compute services for one or three years. Committing to a savings plan allows you to get discounts, up to the hourly commitment amount, on the resources you use.

In simpler terms, when you commit to Azure that you will pay $ X amount per hour for your compute resource, Azure will provide you discount on compute resource cost until you reach that hourly limit.

How much savings can Azure savings plan for compute provide ?

Percentage savings vary depending on factors like resource types, the compute family and region but in most general use cases you can save approximately 25% over 1 year and approximately 49% over 3 years.

How its different from Azure Reserved Instances ?

Although Azure savings plan for compute offer less savings as compared to Reserved Instances, Savings plan provide great flexibility as compared to Reserved Instances as it applies to any compute within scope of your plan irrespective of your compute family, region.

This makes the Savings plan the best saving option when your compute requirements are not consistent. Some of the use cases of these requirements are:

  1. You are running data pipelines in Azure Databricks clusters and you need different types of compute to run different pipelines.
  2. You are running your Azure Kubernetes cluster with multiple agent pools of different compute families as per your application requirements which also scale up and down depend on workloads.
  3. Your applications are hosted on Azure app services which scale in or scale out depending on workload.

So far, the Azure savings plan for compute is looking very promising but it also raises two major questions:

  1. What if my hourly usage is less than the committed amount ?
  2. What if my hourly usage is more than committed amount ?

Short answer to these question are, If your usage is less than committed, you will end up paying more money and if your usage is more, you will not be able to get complete benefit of the savings plan.

This makes it very crucial to perform a thorough assessment of your current and future resource requirements to identify the amount you want to commit to the savings plan.

Lets discuss some of the key factors which can help you in this assessment.

  1. What resources are covered as part of the Azure savings plan for compute ?

Before identifying your hourly commitment amount, it is important to identify all resource types your organisation will be using and which of them can be covered under the savings plan. Azure savings plan for compute covers different resource types in a single plan such as:

  • Azure Virtual Machines which also include virtual machines or scale sets deployed as part of AKS cluster, Azure Databricks, Azure Virtual Desktops etc.
  • Azure App Service Plans which include Premium V3 and Isolated V2 only.
  • Azure Functions Premium plans only.
  • Azure Container Instances.
  • Azure Dedicated Hosts.
  • Azure Container Apps.

Savings plan don't cover all App service plans and Function app plans. Pay close attention to plan details before including in your commitment amount.

2. How to choose a scope for the saving plan ?

The scope of an Azure savings plan for compute can be:

  • Shared across billing scope
  • A specific Azure management group
  • A specific Azure subscription
  • A specific resource group

Although the savings plan offers different scopes, the effective way to maximize your savings is to apply it at billing scope as it covers multiple resource types in all regions and subscriptions.

3. How to decide the virtual machine size which can maximize savings ?

New versions of the Azure virtual machine families offer more saving than old versions. For example, a general purpose V5 virtual machine offers ~26% savings for 1 year against ~13% savings for 1 year offered on a general purpose V3 virtual machine.

Considering this, always try to use new versions of virtual machine families when creating new virtual machine resources and upgrade your existing virtual machines to new versions which will maximize your savings.

You can always refer to the Azure pricing calculator to compare virtual machine sizes and identify virtual machine families suitable for your needs.

4. Do not over commit !!!

An Azure saving plans for compute cannot be cancelled once purchased but you can add new savings plan as per your requirement in the future.

It is always recommended to consider your current or next couple of months of compute requirements to identify your commitment amount. In the future if your compute consumption increases, you can purchase new savings plans to fulfil the requirement.

5. Always review your consumption of the savings plan and do adjustments when needed.

Always monitor your consumption pattern and make the necessary adjustments to your savings plan. For example, if you are already consuming 100% of your commitment, review your current compute consumption if its more than your commitment which might allow you to purchase an additional savings plan for that delta consumption.

Or if you are underutilizing your commitment, you can either widen the scope of your savings plan or you can plan your future resource deployments to use the savings plan. Scoping your plan at billing account is helpful in such a scenario where even if your one subscription consumption decreases, you might still be able to get benefits for other subscriptions in scope.

Conclusion

Azure savings plan for compute is a great way to start your cost saving journey as it provides flexibility by covering a large landscape of resources under a single umbrella.

Also, a word of caution, do a due diligent check on the requirements before committing to avoid overspending. I hope this article will help you with this.

--

--