AWS Savings Plans offer AWS subscribers a flexible pricing model by providing lower prices for a select set of services. By agreeing to a specific usage commitment, measured in $/hour, you can save as much as 72% compared to On-Demand pricing. AWS Savings Plans run on a one or three-year commitment and are available for Amazon EC2, AWS Lambda, AWS Fargate, and Amazon SageMaker. This article will provide a comprehensive overview of AWS Savings plans and review the differences between Savings Plans and Reserved Instances.
AWS Savings Plans are an AWS feature that allows subscribers to pay lower costs in exchange for committing to use particular services for a one or three-year period. Along with other AWS cost-saving features such as Spot Instances and Reserved Instances, Savings Plans allow you to meet the objectives of the AWS Well-Architected Framework's Cost Optimization Pillar.
AWS offers three different Savings Plans: Compute Savings Plans, EC2 Instance Savings Plans, and Amazon SageMaker Savings Plans. Below are the details of each plan.
AWS Compute Savings Plans offer the most flexibility. Leveraging this model, AWS subscribers can save as much as 66% of their compute costs compared with standard On-Demand pricing. This discount applies to AWS EC2 instances regardless of the instance family, size, availability zones, region, operating system, or tenancy.
You can also commit to an AWS Compute Savings Plan for Fargate and Lambda usage. The primary benefit of this plan is its flexibility. For example, you can change instances, shift workloads to another region, and even move a workload from EC2 to Fargate or Lambda and continue paying the Savings Plan price.
AWS EC2 Instance Savings Plans offer the most significant cost saving. AWS subscribers that take advantage of this benefit can receive a discount of up to 72% of the standard On-Demand pricing. As with the AWS Compute Savings Plan, the subscriber needs to commit to a particular usage per hour for a one or three-year period.
The primary difference between the EC2 and Compute Savings Plans is the flexibility available in each model. With an EC2 Instance Savings Plan, you must commit to a particular instance family in one specific region, such as M5 usage in North Virginia. You can, however, change your usage between instances within a family in that region. For example, you can move from a c5.large running Windows to a c5.xlarge running Linux.
As with the Compute Savings Plan, you can apply the EC2 Instance Savings plans to the selected instance family in a particular region regardless of the size, availability zones, operating system, or tenancy.
Amazon SageMaker Savings Plans can help you reduce costs by up to 64%. As with the Compute and EC2 Instance plans, this Savings Plan requires a one or three-year usage commitment measured in $/hour. It automatically applies to the following eligible SageMaker ML instances:
This AWS Savings Plan also offers the flexibility you need to migrate workloads. For instance, you can change usage from a CPU instance ml.c5.large running in US West to an ml.inf1 running in US East for inference workloads. You can also set an Amazon SageMaker Savings Plan regardless of region, size, or instance family.
The core benefit of AWS Savings Plans is the significant cost savings AWS subscribers receive compared with standard On-Demand pricing. In addition to discounts of up to 72%, AWS Savings Plans are flexible and easy to use. Let’s take a closer look at each of these key benefits.
As we’ve seen, AWS Savings Plans offer significant cost savings. However, the savings differ from plan to plan and within each plan. For example, if you leverage a Compute Savings Plan, you can achieve higher discounts when you take advantage of new instance types. Further, this plan type also rewards you for modernizing your application and migrating your workloads to AWS Lambda or Fargate.
In addition to leveraging new instance types and migrating workloads, the commitment term also determines your final cost-saving. For example, an a1.medium running Linux in Ohio will save you 27% if you commit to usage for one year. Over a three-year period, the saving for the same instance increases to 50%. The cost-saving increases even further to 55% if you pay for all the costs upfront. As there are so many variables, selecting the best option for you can be challenging. However, using the AWS Savings Plan Cost Calculator can help you make the appropriate financial decision that best aligns with your requirements.
Another significant benefit of using an AWS Savings Plan is the flexibility this pricing model offers. For example, the Compute Savings Plan does not lock you into using a particular instance in a specific region for a set period of time. Likewise, the Amazon SageMaker Savings Plan also allows you to move to different instance types and regions. Even the EC2 Instance Savings Plan offers some flexibility as you can move between instance families in the same region.
AWS has made it simple to purchase and get started with a Savings Plan. First, it leverages AWS Cost Explorer to create recommendations based on your requirements. Then, from that interface, you simply add the relevant plan to the cart and purchase it.
AWS Cost Explorer further aids you in choosing the best option by recommending the hourly commitment based on your historical On-Demand usage, choice of plan type, term length, and payment option.
The main difference between an AWS Savings Plan and Reserved Instances is the commitment made by the AWS subscriber at the time of purchase.
AWS Savings Plans offer a discount based on a committed spend in dollars per hour over a one or three-year period. On the other hand, Reserved Instances provide AWS subscribers with cost-savings based on their committed utilization over the same one or three-year period.
Another difference between an AWS Savings Plan and a Reserved Instance is the flexibility to apply the amount spent on AWS Lambda and Fargate. However, if you choose an EC2 Savings Plan instead of a Compute Savings Plan, Reserved Instance configurations have similar flexibility and cost savings. The tables below outline the different scenarios.
|Element||Reserved Instance||AWS EC2 Instance Savings Plans|
|Commitment||Per Instance||Dollar per hour|
|Geographic Flexibility||Zone or Region Specific||Region Specific|
|Operating System||Fixed||Any Operating System|
|Element||Reserved Instance||AWS Compute Savings Plans|
|Commitment||Per Instance||Dollar per hour|
|Instance Family||Exchangeable||Any Family|
|Geographic Flexibility||Zone or Region Specific||Any Region|
|Operating System||Exchangeable||Any Operating System|
The primary reason for opting to purchase a Reserved Instance or an AWS Savings Plan is the significant cost savings. The table below outlines the various cost savings for a sample of EC2 instance types. For the comparison, a three-year commitment with no upfront payment was used as a common setting. A common region of US East (N. Virginia) and a Linux operating system were used for all calculations. The columns containing a percentage indicate the additional available discounts as compared to a standard reserved instance (used as a reference).
|Standard Reserved Instance||$0.0110||$0.0360||$0.0147||$0.5810||$0.0370|
|Convertible Reserved Instance||$0.0127||$0.0410||$0.0164||$0.6682||$0.0430|
|Convertible RI Discount v. Standard Reserved||-15.45%||-13.89%||-11.56%||-15.01%||-16.22%|
|AWS Compute Savings Plans||$0.0127||$0.0410||$0.0164||$0.6682||$0.0430|
|Compute Savings Plans Discount v. Standard Reserved||-15.45%||-13.89%||-11.56%||-15.01%||-16.22%|
|AWS EC2 Instance Savings Plans||$0.0110||$0.0360||$0.0147||$0.5810||$0.0370|
|EC2 Instance Savings Plans Discount v. Standard Reserved||0.00%||0.00%||0.00%||0.00%||0.00%|
This table illustrates that Convertible Reserved Instance pricing equals that of the AWS Compute Savings Plan. Similarly, The Standard Reserved Instance pricing equals that of the EC2 Instance Savings Plan. The results show that there is no discount parity between these cost optimization options. However, the Savings Plans do offer a little more flexibility.
Now that you know what Savings Plans are and how they work, let’s jump into actually working with them on the AWS platform.
The first step in getting started with AWS Savings Plans is to enable Cost Explorer. AWS uses this service to recommend the hourly commitment based on your historical On-Demand usage, choice of plan type, term length, and payment option. To enable AWS Cost Explorer, navigate to it in the AWS Console Menu, and click on the link under AWS Cost Management, as shown in the image below.
Once you access it for the first time, AWS will start the processes to enable it.
You can also purchase AWS Savings Plans by calling the dedicated API. The table below details the relevant actions and request syntaxes.
AWS Savings Plans offer significant cost savings. However, they only apply to a subset of services available on the AWS platform. The table below provides the list of supported services and a brief description of each.
|AWS Service/th>||Brief Description|
|Amazon EC2||Amazon Elastic Cloud Compute (EC2) is AWS's Infrastructure as a Service (IaaS) offering for compute workloads. It allows you to create and manage virtual machines on the AWS platform eliminating the need to invest in expensive hardware and software.|
|AWS Fargate||AWS Fargate is AWS's serverless compute engine for containers. It works with Amazon Elastic Container Service (Amazon ECS) and Amazon Elastic Kubernetes Service (Amazon EKS). Fargate improves development efficiency as it removes the need to provision and manage servers. Instead, it lets you focus on building applications allowing you to pay for resources on a per-app basis.|
|AWS Lambda||AWS Lambda lets you run code without provisioning or managing servers. It is a compute service that scales automatically and uses a billing model where you only pay for the time your app consumes the allocated compute resources. AWS Lambda allows you to run code with zero administration and provides high availability through its compute infrastructure.|
|Amazon SageMaker||Amazon SageMaker is AWS's fully-managed machine learning service. It allows data scientists and developers to build and train machine learning models and deploy them directly into a production-ready environment. In addition, Amazon SageMaker offers an integrated Jupyter authoring notebook instance for easy access to data sources, removing the need for you to manage servers.|
The most straightforward way to purchase an AWS Savings Plan is via AWS Cost Explorer. It will help you choose an appropriate plan and guide you through the purchase process, as detailed in the images below.
Click on Recommendations under Savings Plans on the vertical menu.
AWS Cost Explorer will display your recommendations based on your usage history, instance type, and region.
You can then click on 'Add Selected Savings Plan(s) to cart.’
Alternatively, you can also create a Savings Plan without using the AWS Cost Explorer recommendations by clicking on Purchase Savings Plans, as shown in the image below.
In the example below, we have chosen to purchase a Compute Saving Plan for one year with an hourly commitment of $1 and no upfront payment.
Let's consider the details provided in the example recommendation below. You can see three highlighted amounts - Monthly On-Demand spend, Estimated monthly spend, and Estimated monthly savings.
As with any cloud-based service, monitoring usage patterns is vital in achieving cost optimization. AWS gives you four options you can leverage to understand the AWS Savings Plans you own, how the service applies the usage commitment you purchased, and what usage your plan(s) cover. Here, we’ll take a look at each of those options.
The Savings Plan Inventory page, which you can find by navigating to AWS Cost Management →Savings Plans → Inventory, offers a detailed overview of Savings Plans you own and any you may have in a queue for future purchases. As shown in the image below, the Inventory provides details in a table format.
You can also leverage the Savings Plans Utilization Report to manage and monitor the state of your plans. You can find it by navigating to AWS Cost Management → Savings Plans → Utilization Report. This report provides these high-level metrics:
The AWS Savings Plan Coverage Report, which you can find by navigating to AWS Cost Management → Savings Plans → Coverage Report, is another tool you can use to manage and monitor your AWS Savings Plans. This report provides the following metrics:
The fourth and final tool you can use to manage and monitor your AWS Savings Plans is the AWS Cost Management Budgets feature. Using this service, you can create and manage budgets, receive budget reports, and create notifications for budget elements. For instance, you can use the Savings Plans budget type to set a utilization or coverage threshold. Should your usage exceed any of these configured limits, this tool will send you a notification.
AWS Savings Plans offer significant discounts and provide the flexibility needed to make changes after committing to a plan. However, this feature has a few limitations that you need to consider before taking advantage of any cost savings.
AWS Cost Savings plans offer several benefits. However, to get the best possible cost optimization from your AWS investment, your FinOps cost optimization strategy requires a blended approach. The ideal solution is to consider each workload and then select the best cost-saving option. Ultimately, you will find that using a combination of AWS Saving Plans, Reserved Instances, and Spot Instances is the best approach.