Cost optimization: it’s on everyone’s mind, and it’s one of the core pillars for the AWS Well-Architected Framework. The Framework delves into best practices for designing and operating reliable, secure, and cost-effective solutions for the cloud, and here at Mission, we pride ourselves on working alongside customers to meet these goals.
There are many aspects to consider when you are implementing your cloud optimization plan, but today’s post will focus on Amazon EC2. Based on our experiences working as an AWS partner, we’ve seen that EC2 optimization is a very impactful starting point for a larger cost optimization strategy. Let’s take a closer look at how you can optimize EC2 spend to best suit your organization’s needs.
Amazon EC2 Purchasing Options
When Amazon EC2 launched over 10 years ago, there were not many ways to purchase EC2 instances, but there has been a tremendous amount of innovation since then. There are now four primary EC2 purchasing options and each offers a balance of cost, flexibility, and complexity. Going through the pros and cons for each will be an important first step in determining which one is right for your team. Let’s review.
On-Demand Instances are the pioneer for utility-based, consumption-based selling. With On-Demand Instances, you pay by the hour or the second for the operation of that virtual machine or that instance. There is no commitment or up-front fees required, but because of this great deal of flexibility, you pay the highest price. It’s a trade-off, but it requires that you be aware of and understand how to best utilize On-Demand Instances to ensure you don’t go over budget.
Don’t get me wrong, On-Demand Instances can be completely appropriate in some circumstances, such as test and development use cases, as well as for short-term or unpredictable workloads that can’t be interrupted. If you’re spinning up a workload for a very brief period of time and then spinning it back down again, that’s very well suited to On-Demand Instances. However, what we’ve often discovered is that it is customers’ default response to go to On-Demand Instances without first looking into the cost optimization possibilities that exist with other EC2 purchasing Options.
Spot Instances are a unique approach for gaining access to compute resources. AWS offers access to spare, underutilized capacity at a much lower price — in fact, you can get discounts up to as much as 90% off of On-Demand pricing. However, there is a trade-off when it comes to predictability. With a two minute warning, AWS can reclaim that instance and require you to save your application to an S3 bucket or an EBS snapshot to ensure you don’t lose your work.
Due to the nature of how Spot Instances work, their use cases are more limited than other options. They are really only useful for applications that have flexible start and end times, are feasible at very low prices, or for urgent computing needs that require a large amount of additional capacity. A use case we frequently see that’s a strong fit for Spot Instances is end-of-month reporting. Many companies have monthly financial reports that can potentially run within any 48 to 72 hour period. So you could make a bid for a very-low cost fleet of Spot Instances, do the work when the compute capacity is available, and be okay with it, because it’s not a real-time workload.
Dedicated Hosts are akin to a physical, dedicated server and they have fairly niche use cases, such as performance or compliance. The key advantage with Dedicated Hosts is that you get the benefit of a physical server and full integration with AWS, and customized services such as Virtual Private Clouds (VPCs) and highly granular Identity and Access Management (IAM).
Dedicated Hosts are not really an optimization option, but they are very useful for leveraging existing server-bound software licenses, and they offer full integration with the rest of AWS. You can purchase them On-Demand or reserve.
Reserved Instances (RI) are a commitment to use an EC2 instance for a certain term — either 12 or 36 months — in exchange for a lower price. An RI provides a significant discount (up to 75%) compared with On-Demand pricing. There are a bunch of different levers you can pull on to maximize benefit, and many customers find that this purchasing option leads to the most impactful cost optimization. The real catch here is that you have to make a commitment, which ultimately requires a higher-level understanding, and analysis, of what would be prudent for your company to commit to.
Applications that have a steady state and predictable usage patterns are a strong candidate for RI. Additionally, organizations with a customer base that is highly local to a certain location may want to use RI to reserve capacity in that given region.
Within RI, there are several additional choices you can make that will balance that payment flexibility and cost model. Let’s review these.
Choice 1: Term Length
As discussed before, there is either the 12 month or 36 month term, and the longer you commit, the greater the savings.
Choice 2: Standard Reserved Instance vs. Convertible Reserved Instance
With a Standard RI, you are committing to a very particular type and size of instance, while with a Convertible RI, you have the option to exchange it with another Convertible RI at a later date during your term. However, with that increase in flexibility comes a decrease in potential savings. Generally, you’re going to find greater savings if you stick with a Standard RI.
Choice # 3: NURI, PURI, or AURI
Short for no upfront payment (NURI), partial upfront payment (PURI), and all upfront payment (AURI), these acronyms represent different models you can use to pay Amazon for this RI.
With the no upfront payment option, you are making a commitment to pay for that reservation over your term, but you are doing so on a monthly basis of payment. With the partial upfront payment option, you put some portion of the money down upfront, and then you make smaller monthly payments throughout the term. And finally, the all upfront payment option requires putting down the entire payment for the 12 or 36 month term up front, AND includes the biggest savings.
Savings with Reserved Instances: A Closer Look
Let’s look at some examples of cost-saving benefits we can find using two different instance types. Please note: with both scenarios, we used standard Linux-backed instances, because we didn’t want to add on the additional cost of licensing.
Instance Type #1: t3.small
Cost Savings: For one year with no upfront payment, there was 38% cost savings over On-Demand. For a three year, all upfront payment, you end up with 55% cost savings over On-Demand.
As you go to larger instance sizes, the savings continue to increase. Here’s another example.
Instance Type # 2: c5.xlarge
Cost Savings: For one year with no upfront payment, there is a 36% cost savings over On-Demand. For a three year, all upfront payment, you end up saving 64% compared to On-Demand. That’s a huge amount of savings!
AWS Cost Optimization: The Bigger Picture
AWS really drives home the point that the best way to achieve cost optimization is to let the data guide you, and partners like Mission are here to help you make the most informed decisions. Mission’s team of Cloud Optimization Specialists analyze your usage data to provide RI purchase recommendations tailored to your business goals, drawing upon their years of experience managing a wide range of cloud architectures. Once a purchase is made, we’ll monitor RI utilization to prevent waste and maximize savings, and build a customized cost optimization roadmap that works for you.