Everything you need to know for optimum savings on your cloud compute costs
All of the main public cloud providers offer discount options if you commit to resource usage over a fixed term. Given that compute costs can represent up to 80% of your cloud bill, that’s the good news. The not-so-good news is that navigating the differences and choosing the right one for your specific business case can be complicated.
If you don’t get it right, you could end up wasting money on capacity you haven’t used or paying top dollar for on-demand instances not covered by commitments. But help is at hand: In this article, we explain the different AWS and GCP compute discount options and what you can do to get the balance right.
AWS discounts
Back when AWS launched Elastic Cloud Compute (EC2) in 2006, there was one payment option: On-Demand. With only one region and one size available, the pricing model was simple and effective, but as Amazon added instance families and regions, they needed a new pricing model. Amazon EC2 Reserved Instances became a reality in 2009.
Reserved Instances (RIs) made it possible to commit to usage parameters at the time of purchase to achieve a lower hourly rate. However, the requirement to commit to a fixed price resource for one or three years compromised the flexibility and elasticity of resources that AWS users expect. So, AWS Savings Plans were launched as an alternative payment model in 2019.
Savings Plans offer more flexibility than RIs, but they are no panacea for the headache of managing discounts. Let’s get into the finer details of RIs and Savings Plans and how you can effectively use both.
Reserved Instances (RIs)
AWS RIs apply discounts to compute costs for a commitment of either one or three years. You can purchase RIs with a regional scope for discounts on instance usage in any Availability Zone (AZ) within a particular region and on any instance within the same family, whatever the size. Alternatively, you can purchase RIs with a zonal scope. These apply only to usage within a specific AZ, and the instance size and type remains fixed. With a zonal RI, capacity is reserved in the specified AZ, but this is not the case with regional RIs.
Another way to categorize RIs is as either Standard or Convertible. Customers with US bank accounts can resell Standard RIs on the AWS RI Marketplace but cannot exchange them with a different instance family type. You cannot resell Convertible RIs, but you can change the instance type and size by changing the RI itself — as long as the value is greater or equal. Standard RIs are less flexible than Convertible RIs, but they offer higher discounts (up to 72%, versus a maximum of 66% for Convertible RIs).
AWS provides options for all upfront, partial upfront and no upfront reservation payments. The discount varies, depending on the plan and how much you pay. Generally, the higher your upfront payment, the bigger the discount you’ll receive.
Compared with the existing on-demand payment model, RIs saved users billions of dollars. However, their rigidity conflicted with the AWS core promise of flexibility and elasticity of resources. Being restricted to a fixed price resource over time makes it impossible to use services with the potential for elastic adjustments. That’s where Savings Plans come in.
Savings Plans
When AWS launched RIs, there were five EC2 instance sizes and three regions (two in the US and one in Europe). As RIs became more popular and customer needs changed, the available options grew — and became more complicated. New regions and new instance families were launched. Convertible RIs became a reality, meaning that customers who committed to all-upfront RI purchases no longer missed out on the benefits of EC2 price cuts.
With so many permutations of RIs available, customers needed a simpler, more flexible way to save money on their AWS usage. AWS Savings Plans emerged as a solution in 2019. Like RIs, Savings Plans are also based on a commitment of one or three years, but customers commit to a spend per hour rather than a specific usage.
AWS offers three types of Savings Plans:
- Compute Savings Plans apply discounts of up to 66% for Amazon EC2, AWS Lambda and AWS Fargate. These are the most flexible AWS Savings Plan, applying discounts automatically, irrespective of instance family, size, AZ, region, OS or tenancy. (This discount is the same as the equivalent Convertible RI.)
- EC2 Instance Savings Plans apply discounts of up to 72% for EC2 usage. They offer bigger discounts and less flexibility than Compute Savings Plans. You must commit to use individual instance families in a region. In return, the cost of your chosen instance family in that region is reduced automatically, regardless of AZ, size, OS or tenancy.
- SageMaker Savings Plans apply to SageMaker usage.
Savings Plans are more flexible than RIs and simpler to purchase. An RI price is determined by eight different components, whereas a Savings Plan has between three and five components:
- Type — Compute Savings, EC2 Instance or SageMaker
- Duration — one year or three years
- Payment — all upfront, partial upfront or no upfront
- Region (only for EC2 Instance Savings Plans)
- Instance family (only for EC2 Instance Saving Plans)
You can decide how much to commit to (minimum $0.001 per hour per year) and layer Savings Plans on top of one another. You could purchase a $10-per-hour Savings Plan, for example, and purchase more plans to optimize coverage and costs if consumption increases or RIs expire.
The Savings Plan options allow you to choose between maximum cost savings and maximum flexibility in the same way that Standard and Convertible RIs do. The maximum Savings Plan discounts also correspond with the top RI discounts. However, Saving Plans can be applied to any region and shared across compute services including EC2, EKS, Fargate and Lambda.
Should you stop buying RIs?
Although Savings Plans deliver undeniable advantages, there are arguments for keeping RIs in the mix. One is that they can be sold in the AWS Marketplace if unused. This allows for creativity in allocating instances. For example, if your business experiences seasonal spikes, you can exchange convertible RIs with a few months remaining on them to boost their coverage in season. That can add up to big savings without a big commitment.
Furthermore, compute Savings Plans do not apply to Redshift, Elasticache or Relational Database Services (RDS). Even if this were not the case, RIs make sense for RDS because the DB server is usually sized for maximum traffic to facilitate scaling DBs without interruption.
A blend of RIs and Savings Plans is probably the most prudent choice, with Savings Plans for baseline usage and RIs to apply when variability may be an issue.
Alternatives to RIs and SPs?
AWS Savings Plans and RIs don’t work in all cases. Depending on the workload, Spot Instances may be a better choice.They allow you to access spare EC2 capacity at up to 90% less than On-Demand pricing and are ideal for temporary, flexible workloads such as Big Data. Nonetheless, as with RIs and Savings Plans, Spot Instances deliver optimal savings only with careful management.
GCP Committed Use Discounts (CUDs)
Google Cloud answers the cloud savings question with committed use discounts (CUDs). Targeted at workloads with predictable resource needs, GCP CUDs allow you to purchase compute engine resources such as vCPUs, memory, GPUs, local SSDs and sole-tenant nodes at a discounted rate if you commit to paying for those resources for either one or three years.
The discount ranges from up to 57% for resources including machine types and GPUs to up to 70% for memory-optimized machine types. You are billed monthly for the resources you bought for the duration of the term you chose (one or three years), even if you don’t use those services, making them suitable for predictable workloads.
Google allows you to see how much you could save each month with a CUD by analyzing your VM spending trends with and without a CUD contract. CUDs are available for single projects, or you can purchase multiple contracts and share them across numerous projects by enabling shared discounts.
CUDs are either spend-based or resource-based. Spend-based CUDs apply a discounted rate on usage based on a committed minimum dollar amount per hour. Any usage over the committed amount is charged at the on-demand rate. Spend-based CUDS can be bought from your Cloud Billing account; they apply to eligible usage in any projects paid for by that Cloud Billing account. They are restricted to the following Google Cloud services.
- Cloud SQL
- Google Cloud VMware Engine
- Cloud Run
- Google Kubernetes Engine
Resource-based CUDs apply a reduced rate based on your commitment to use a minimum level of Compute Engine resources in a specific region. They can be used for vCPUs, memory, GPUs and local SSDs. This allows you to use different machine instances across your organization when you have predictable Compute Engine resource needs.
Sustained Use Discounts
You can also avail of Sustained Use Discounts for running an instance for a substantial portion of the billing month. These do not meet the criteria for reservations because they don’t have an end date. It is not possible to combine Sustained Use Discounts and CUDs.
AWS versus GCP discount plans
Both AWS and Google Cloud offer discounts for one-year and three-year commitments, with few similarities beyond that. Here you can see how they compare:
Maximizing your savings
Purchasing RIs, SPs or CUDs is a great way to reduce your compute costs, but determining and managing your compute commitments effectively can be risky, tricky and time-consuming. Deciding which discount option you should choose to achieve maximum cost savings requires excellent visibility into your multicloud environment, insight into how your instances are being used and a clear, accurate picture of what your cloud compute needs will be for the next one or three years. If you overprovision your compute commitments, you’ll end up wasting money on unused instances; if you underprovision, you’ll miss out on potential savings.
One way to bypass most of these obstacles is to use an automated savings tool like Flexsave, which analyzes cloud usage across both AWS and Google Cloud and automatically applies compute savings to any on-demand workloads (i.e., those not already covered by existing SPs, RIs or CUDs). In doing so, it eliminates the risk inherent in trying to provision future compute requirements, as well as the challenges of managing multiple discount plans across teams and cloud environments.
Regardless of which clouds you use or tools you deploy, taking the time to understand and choose compute commitments effectively is key to optimizing your cloud spend.
To stay connected, follow us on the DoiT Engineering Blog, DoiT Linkedin Channel and DoiT Twitter Channel. To explore career opportunities, visit https://careers.doit.com.