AWS Reserved Instances, Saving Plans, or Spots: What model spares more of your cloud costs to result in average savings of 70%

Designing a cloud environment on AWS is an excellent idea, considering Amazon Web Services attracts more than half of cloud users (52%) and holds 31% of the global cloud market. Netflix, Quora, NASA, Reddit, and Pinterest, as well as a bunch of other business giants, are all hosted on AWS. Yet, if I had a nickel for every time customers say it's expensive to run workloads on AWS, I'd have a pool of coins to swim in like Scrooge McDuck. But, unfortunately, there is a problem – one can easily be with swamped AWS bills. Looking at recent data from FinOps Foundation, 37% of all responders (1056) claim that their cloud expenses go over $1 million monthly, and 20% admit that their cloud spending stands between $10 and $25 million.

Source: data.finops.org

It doesn't have to be expensive if you know about saving options from AWS, including Reserved Instances, Saving Plans, and Spots. Effectively managed Reservations, Saving Plans, and Spots can help you achieve significant discounts for AWS workloads. It's crucial to analyze your current AWS usage to select the right attributes from the start and to devise a longer-term strategy for monitoring and managing your Reserved Instances/Saving Plans or/and Spots. Using tools such as the AWS Compute Optimizer, AWS Cost and Usage report, and the Reserved Instance Utilization and Coverage reports in AWS Cost Explorer, you can examine your overall usage and discover opportunities for greater cost efficiencies. However, dealing with Reserved Instances, Saving Plans, and Spots can be overwhelming for cloud-non-experts, so reaching out to mature DevOps professionals for advice and the careful study of some enlightening materials like this article can be pretty helpful. But, again, AWS doesn't have to be quite so expensive if you manage your account(s) correctly.

What are Reserved Instances?

Reserved Instances are a financial commitment to book low-priced capacity for a fixed span of one or three years. The main point here is that you purchase credit for a specific instance type (Note: it's applied to a single machine) for a set period but not a physical machine. You can also use different resources for the RDS database, Elasticsearch, ElastiCache, Redshift, OpenSearch, or a purely virtual machine like EC2. Still, it's crucial to realize that Amazon does not care whether all resources are used at 100% or 5%. If you have registered them for yourself – they are yours, and you have committed to them for yourself for either one or three years. It, therefore, makes sense to exploit your reserved capacity as much as possible to get the highest possible discount and profit.

AWS experts claim you can save up to 72% by having your instances reserved compared to on-demand models. However, there are a few little details you should know since the discount limit will depend on the attributes you provide when planning your reservation, including:

  • Instance Type: AWS equips customers with a broad scope of instance types that are optimized for different use cases.
  • Validity: one or three years.
  • Platform: Operating System (OS).
  • Region: The AWS region where your RI will be used.
  • Tenancy: Standard EC2 instance or equipment with one tenant.
  • Payment: full upfront payment, partial upfront payment, or no upfront payment.
  • Reserved Instance Type: Standard or Convertible.

72% discount is, in fact, possible with Standard Reserved Instances. But is there a downside? Well, yes, there is a downside: there is no flexibility factor. With Standard Reserved Instances, you must first select the Availability Zone and the region where they will be located. It should be a specific instance for three years (a 1-year period will probably cut the discount). After that, you won’t be able to make any other changes – you can’t move your machines anywhere. If the load changes and you only utilize 5% of the capacity, that will be your problem, and almost nothing can be done about it. I said "almost" because if you don't want these RIs, there is one thing you can do (and one thing only): sell them on the AWS marketplace to someone who wants them. But there are a few details of which you need to be aware. As we scroll down the Reserved Instance Marketplace page, we find certain conditions.

  1. You can sell up to $20,000 in Reserved Instances per year. For example, suppose you have purchased resources that cost $100,000 – you can sell them for only $20,000. If more, you need to fill out a specific form and negotiate with Amazon.
  2. One more tricky detail is if, for example, you used two months and 15 days, Amazon will erase these 15 days and round down the total amount to 2 months.
  3. In addition to (1) and (2), they will take a 12% fee.

Source: aws.amazon.com

You can alter Convertible Reserved Instances. You can change their region, size, OS, tenancy, and type. For example, if you’ve noticed how heavily this application uses resources, you can move it elsewhere. You will lose on the discount but gain greater flexibility. However, you can not sell Convertible Reserved Instances.

One more type of RIs that few people know about is Scheduled Reserved Instances. For example, let's say you need a server every Friday for three years. Just have this RI scheduled, and there will be a discount.

What are Saving Plans?

Saving Plans appeared in 2019. Amazon created them as an alternative to Reserved Instances to meet the high demands of their customers. What is the difference between RIs and Saving Plans? If you take a specific volume of resources in RIs for a certain period, and Amazon is not interested in how you use them, then the Saving plan story gains new meaning. Say, for example, you choose to spend a certain amount of money in a particular period. For example, you commit to paying 10,000 dollars in one year or 10,000 dollars in 3 years -- this is a Saving Plan. In this scenario, you commit to the amount of money but not to the resources. The resources you actually take up depend on you and your needs, and here too, there are two options:

  • The Compute Saving Plan is very flexible. It can be compared with Convertible Reserved Instances. You can choose the type of resource, change the region, and save up to 66%.
  • EC2 Saving Plan is for saving up to 72%. But, first, you have to say which resource you want, in which AZ, what size it will be, and what operating system will be there.

Here is a comparison of all four options. The Standard Reserved Instances can be compared with EC2 Saving Plans because they can be set up under the required operating system, zone, region, etc. The Convertible and the Compute Plan will give you more flexibility but a lower discount.

Source: aws.amazon.com

When the Saving Plans came out, many people said they would kill off Reserved Instances. But it’s important to remember that Saving Plans cannot be used for all Amazon resources only for EC2, AWS Fargate, and AWS Lambda, while Reserved Instances can be used for almost all Amazon services.

What are Spots?

Are there other options for reducing costs for AWS services? Amazon experts were the first to come up with Spots. When users buy resources (and here we are not only talking about EC2 but about AWS Fargate, Amazon Elasticsearch, and others), they don't use them 100%. So from the start, planning your exact usage and then utilizing absolutely everything you buy is challenging. And secondly, as soon as the load reaches 80%, the gold standard in IT, cloud infrastructure owners, as a rule, add more resources just to avoid breaking the 100% limit. As a result, there is invariably a particular volume of idle resources, and Amazon figured out how to resell them.

It's an excellent resource when someone buys resources and doesn't make 100% use of them. We can repurchase them at a crazy discount of up to 90% and reuse them. Such resources are temporary because the owner can ask for them back at any time, and Amazon will send a notification 120 seconds before spot termination is due to occur.

What are the main reasons for spot termination? First, the spot price can become rise above your Max Price for the spot. Spot Instances of this type can be popular, but what if the resource owner rapidly increases their workload? Not missing this signal (the termination alert) is vital when it occurs. If we use Kubernetes, the AWS Node Termination Handler (NTH) ensures that the Kubernetes control plane responds to events that could lead to your EC2 instance becoming unavailable, including EC2 Spot interruptions. Such termination notifications are received in Amazon EC2 Auto Scaling groups (remember: the instance you're planning to spot has to be attached to it).

Here it would be best if you thought about the workloads suitable for spotting. As a rule, spot mode can only be used for stateless, error-liable workloads or processes that can be stopped and restarted to avoid dealing with mission-critical caseloads. Here you can read about a spot instance management strategy you can confidently apply to business-pivotal workloads.

AWS RIs, Saving Plans, or Spots

To choose a saving model, you must gather lots of information about your needs and make architectural reports and decisions. It's easier for large enterprises, as they already have experience and the ability to collect more accurate analytical data. If you are a startup, you don't know how many users you will have, what your cloud architecture will be, and what you are trying to calculate. It’s never too early to start saving, though – you can give up and change something, and at the moment, it's easier to deal with more flexible Saving Plans. If they work, you can switch to Reserved Instances and use them for services not covered by Saving Plans, such as RDS, Elasticsearch, and ElastiCache.

As for spotting, spotting is a huge saving but also introduces additional risk. You can make a Split Spot – i.e., create a group containing a certain number of Spots and a certain number of On Demand Instances. For example, imagine you need a service that deals with authorization and that you are likely to need at least two such services for the platform. Ideally, you’d like to have two servers On Demand for always-available stability. But that could prove costly. You could consider making a Spot out of the second one. They would scale themselves in number to bear the load.

You can use Amazon Cost Explorer and Amazon Spot Instance Advisor to get some analytics.

However, there is a good chance you'll need auxiliary instruments to monitor your cloud infrastructure, get on-time notifications and termination alerts, and receive saving recommendations customized to your personal use. In that case, it'd be a great idea to consider leveraging a platform capable of tackling the full range of Cloud challenges.

The market clearly needs a Unified DevOps/Cloud platform created by Finance-savvy experts. This FinOps platform makes it easy for organizations to understand, build, protect, and optimize their multi-cloud infrastructures. FinOps is all about cloud cost optimization. And IT organizations need a FinOps engineer or FinOps team to deal with resource optimization strategy development and be able to propose a well-architected program powerful enough to cure enormous spending headaches.

Source: FinOps.org

Given the market’s growing expectation of widespread adoption of fully managed FinOps solutions, Uniskai has been designed by Profisea Labs experts, highly professional DevOps & FinOps practitioners, and honored members of the FinOps organization.

So what is Uniskai by Profisea Labs? It’s an AI-based cloud cost reduction platform that combines all cloud optimization best practices in a unified saving strategy to reduce your cloud expenses on virtual assets by up to 70%. With Uniskai, you can:

  • Combine all cloud cost optimization best practices into one unique savings strategy,
  • Increase cloud visibility and get complete control over your cloud assets,
  • Receive prompt advice on how to reduce and downsize wasted capacity on the cloud,
  • Get intelligent recommendations on reservations and the most optimal package of Saving Plans to convert any machine into a lower-cost instance,
  • Take up its AI-driven scheduling policies and reduce costs with patented spot management technology,
  • Benefit from explicit analytics and reporting, and
  • Enjoy automation of all DevOps-related processes.

Bottom line

We were happy to adopt the pay-as-you-go model and consume capacity on-demand. However, capacity planning does require an upfront investment, and you may not always need the flexibility of the On-Demand model.

Since 2009, AWS has offered the following packages:

  • If you commit to the usage of particular services, AWS provides an On-Demand pricing discount.
  • If you pay upfront for computing power, AWS provides an On-Demand pricing discount.
  • If you agree to the condition that your resource can be swiftly terminated (‘swiftly’ here means within 120 seconds!), AWS grants you an incredible discount on already purchased yet not used capacity.

In general, deciding which saving model suits you best is up to you. But before taking any action, collect and thoroughly analyze information about your needs, develop a well-architected plan, and make sure you have all the necessary solutions and instruments for implementing this plan correctly.

If you have any DevOps/Cloud-related questions, message us, we'll be happy to help.

This article deals with AWS's inflated bills. Our following articles look at Google Cloud and Microsoft Azure’s saving models and may be exactly what you need. Just keep reading us!