When Amazon Web Services got started way back in 2006, EC2 On-Demand pricing was an immediate success with developers. They loved the ease of spinning up a wide variety of AWS EC2 instance types whenever they needed them, all for a reasonable price, and then terminate them when done. This was a great improvement on waiting and waiting for IT to order new machines, configure them, or more critically, not even being able to do tests on machines that were far too expensive for short-term projects.
In this article, we will discuss how the new-found cloud freedoms quickly spawned a whole host of challenges, what AWS did to address these issues, and how the current overabundance of options has, in turn, created a unique set of challenges and potential solutions.
To dive deeper into these challenges and how to solve them, check out the webinar from Spotinst VP of Cloud Services, Patrick Gartlan, and Cloud Academy’s AWS Content & Security Lead, Stuart Scott: AWS Cost Savings: Ending Decision Paralysis When Trying to Optimize Spend with Reserved Instances and Savings Plans.
Reserved Instances to the rescue for runaway EC2 costs
While EC2 On-Demand adoption was massive, the cost of running instances On-Demand for long periods — whether intentionally or by accident — was also quite massive, and most organizations were surprised by how quickly their cloud bill became a very significant part of their IT spend.
To address the intentional part of the rising costs, specifically steady-state, long-term usage, AWS introduced Reserved Instances (RIs) in 2009, where one could make an upfront payment for a 1- or 3-year commitment, and in exchange, receive ~70% discount for On-Demand pricing.
Challenge: Reserved Instance lock-in blocks adoption
As RIs initially were quite rigid in their pricing structure, customers with dynamic environments were very hesitant to use them, with the legitimate concern that they would get locked-in to a pricing structure that offered no flexibility for change.
Some customers who bought RIs and then had unexpected changes in their workload requirements would get stuck with a sunken investment, and even negative return on investment (ROI). As a result, many AWS customers who could have benefited from RIs stayed away.
AWS continuously increases reserved flexibility
To remedy this issue with RIs, over the years AWS introduced various services and new pricing structures that allowed for more flexibility for more potential customers:
- In 2012 AWS Marketplace was opened as a secondary market where one could buy and sell RIs from other AWS customers. This potentially mitigates the risk of getting stuck with an unused RI.
- In 2014 AWS allowed RI users to manually modify unused RI and re-apply them within the same instance family, based on their normalization factors (this was done either by combining two RIs into a larger one, or breaking an RI down into two or more smaller instances).
- In 2016 AWS introduced:
- Convertible RIs which allow users to manually modify RIs across different family types, OS, and sizes.
- Regional RIs automatically apply unused RIs to any other running EC2 instances within that same family (for Linux) or to exact same instance size (for all other OSs), with the added flexibility of being transferable to any availability zone within that region.
- In 2017 Instance Size Flexibility was introduced to allow for automatic application of an unused RI to other EC2 instances within the same family that match up, based on the normalization factor.
- In 2019 AWS introduced Savings Plans (“EC2 Savings Plans” and “Compute Savings Plans”) where customers can commit to spend a desired amount per hour, e.g. $35/hour, for either 1 or 3 years. In this example, anything spent up to $35 will be charged in accordance with Savings Plans rates (between 66-72% savings). Any spend above the committed amount will be charged at On-Demand rates.
Reserved Instances vs. Savings Plans
With the introduction of AWS Savings Plans, the obvious question is whether RIs will remain relevant. For the time being there are sufficient differences between the two pricing options, creating pros and cons for AWS customers depending on their specific use case.
So now in early 2020, when planning your cloud finances, here are some points to keep in mind:
- Savings Plans can only be applied to EC2 and Fargate, while Reserved Instances have broader applications for EC2, RDS, Redshift, and ElastiCache.
- Convertible Reserved Instances allow for the increase of commitment (e.g., add additional reservations to cover more EC2 Instances) during the contracted term, without the need to increase the term. This is especially helpful when needs change and committing to a new 1- to 3-year term doesn’t make sense. With Savings Plans, any addition to the original contract is done with a new contract that starts from day 0.
- EC2 Instance Savings Plans will apply usage across any given instance family, regardless of OS or tenancy. Standard Reserved Instances can also apply to usage across any given instance type family, but require the instances to be Linux and default tenancy.
- Standard Reserved Instances can be bought and sold on the AWS Marketplace allowing for greater flexibility, while Savings Plans cannot, requiring you to keep your committed spend at the level you defined.
- Convertible Reserved Instances are scoped to a specific instance type, OS tenancy, and region while Compute Savings Plans will apply across all of your usage types in multiple regions.
Solution: The paradox of choice
One might think that all these different AWS pricing options would guarantee fully optimized cloud spend. But all too often, having so many choices can lead to “decision paralysis,” especially when handling large, complex deployments that require rigorous capacity planning, and cost-benefit analysis by DevOps and Finance teams.
In our experience enterprises invest a huge amount of human resources for a few weeks every quarter or two, just for RIs and Savings Plans planning and procurement.
First, various project or application teams need to give an estimate of how much compute resources they require for the upcoming period. This then needs review by the TechOps or DevOps teams to confirm that the planned project(s) indeed requires the requested compute power. Finally, the finance team needs to review the specific flavors of RIs or Savings Plans being suggested and ensure that the recommended reserved capacity will truly deliver a positive ROI.
Much of this is often done working with cumbersome spreadsheets, with tedious review historical cloud usage and performing complex projections of expected compute capacity needs.
Fortunately, Spotinst Eco has an incredible track-record helping companies completely streamline the process of identifying when to buy AWS reserved capacity, and what type as well. Not stopping there, Spotinst Eco fully handles ongoing management of the reserved capacity, ensuring maximum utilization and ROI with the minimum amount of financial lock-in possible. Check out a few snapshots of the analysis dashboard using Spotinst Eco.