by John Jun, VP of Business Operations, Logicworks
Purchasing AWS Reserved Instances is one of the quickest ways to shrink your AWS bill.
An EC2 Reserved Instance (RI) can be a huge investment; however, there are nuances to managing and purchasing RIs that can make the difference between a wise investment and a waste of money.
In this post, I’ll give you some tips and tricks that I’ve learned after managing millions of dollars worth of RIs over the last 5 years for hundreds of clients at Logicworks. I’ve seen the good, the bad, and the ugly when it comes to RIs, and I hope this post helps you avoid the most common mistakes.
Tip #1: Track Dollars, Not Hours
There are many ways to track the performance of your Reserved Instances. You can track Reserved Instances by hours, normalized units, and # of instances. Typically people use the “RI Utilization” report from AWS Cost Explorer, which expresses utilization as a percentage of hours used.
Sample RI Utilization report. Source: AWS.
In the sample RI Utilization chart above, the company achieved an average of 95% utilization on all RI hours purchased. When I ask prospective clients how their RIs are performing, they will typically cite their RI Utilization. While 95% RI Utilization is a great achievement, this number can be very misleading. Each unit of measure has its importance, but at the end of the day, you should be concerned about measuring performance in dollars. Here’s why.
Let’s say you’ve purchased a hundred RIs, (95) t2.micros and (5) r5d.24xlarge. When you look at your RI Utilization report, it tells you that you’re at 95% utilization. Beneath the surface, all your t2.micros instances are being utilized, but your expensive r5d.24xlarge are going unused. Although you’re at 95% utilization, you are actually wasting thousands of dollars because your expensive r5d RIs are going unused as illustrated below.
Long story short, don’t rely solely on the AWS RI Utilization number to gauge whether or not you’re running a successful RI program. Dig deeper, and look at the money.
Tip #2: Use a Mix of Convertible and Standard RIs
I’ve observed that most companies typically use just one of the RI types: Standard or Convertible. Some companies want only Standard because of the higher savings percentage, and others want only Convertible because of the flexibility (you can change the instance family and other parameters associated with a Reserved Instance). With Convertible RIs, you’re trading a lower savings percentage for greater flexibility.
In my experience, using a combination of both nets the most savings and retains flexibility. Purchase Standard RIs for a percentage of your instances that are in a steady state and Convertible RIs so you can shift RI coverage as usage changes. If you have any minor changes, you can modify your convertible RIs. If you have any major changes, you can sell you Standard RIs to lower your overall RI commit. Keep in mind selling standard RIs includes a 12% fee to AWS.
Tip #3: Communication between Teams is Key
Here’s a scenario that I see regularly:
- A team of engineers spin up various AWS services, and their monthly bill begins to balloon
- Someone from their finance team sees the growing AWS costs and decides that by purchasing RIs they can save money. Instead of communicating and planning with the engineering team, the finance team operates in a bubble and ends up buying long-term RIs (because they provide the greatest savings).
- A few months later, the engineering team makes a change in their application, and now the RIs are unutilized. Finance doesn’t find out until weeks or months later.
It’s important to speak with your engineering team to forecast future usage and properly set coverage levels for RIs. It’s important that engineering has regular communication with finance so they are alerted to any possible changes.
Tip #4: Don’t Be Impatient
On a related note, also don’t let anyone purchase RIs before you’ve reached a steady state with your applications.
As soon as people see their AWS bill rise as more data and applications are added to AWS, they often purchase RIs against the current environment configuration. A few months later, they discover that the environment can be rightsized to save money, but you can’t downsize a Convertible RI after it’s been purchased (although we have a trick for that, see tip #6).
Wait at least six months before purchasing RIs, and conduct a thorough cost assessment to rightsize resources before you do.
Tip #5: Don’t Forget the Cost of Money
Companies that want the highest possible savings often purchase All Upfront RIs, meaning that they pay the cost of the RI at the time of purchase. However, I often wonder if they are considering the cost of money in their calculations.
Unless your company is cash rich and has no other opportunities to use that cash, then you need to consider the cost of money when calculating savings. If you’re borrowing money, you will find that the additional savings from All Upfront RIs (versus Partial or No Upfront RIs) may not be worth it.
Tip #6: How to Get Around Convertible RI Limits
Let’s say you’ve already purchased a Convertible RI and have since rightsized your instances. As I mentioned before, you can’t technically downsize a Convertible RI — the instance type that you convert to has to be of equal or greater value.
Here’s the trick.
First, convert your Convertible RI to t2.nano Linux RIs, which is the smallest and cheapest type of RI. It may mean that you’re converting your RI into dozens or even hundreds of t2.nano RIs.
Then from there, you can convert the t2.nano RIs to whatever RI type you wish:
Essentially, converting your larger RI to lots of small RIs is like converting a $100 bill into $1 bills, giving you the flexibility to trade up to a $10 bill, two $20 bills, and a $50 bill. You’re still spending the same amount (which gets around the Convertible RI limit). But you get to trade down to a smaller instance type and have leftover “change” to apply to another instance.
Tip #7: Check Regularly (or Setup Alerts) on RI Usage
I find that prospective clients only check their RI utilization once or twice a month. This means there are potentially large blocks of time when an RI can be left unutilized before someone realizes and makes modifications. If you checked your RI performance on the 1st of the month and there is a change in your environment on the 2nd of the month, then you’ve lost a month’s worth of savings before you discover the issue. If you cannot check daily, you can set up free alerts in AWS Budgets to notify you when RI Utilization or other thresholds are passed.
Don’t only check that your RIs are used once a month. Know instantly if you’re wasting money.
Tip #8: Be wary of Undocumented RI Behavior
Reserved Instance management is complicated and sometimes downright perplexing. I remember one prospective client who decided to purchase 3YR No Upfront Standard RIs for all their instances. Their rationale was if there was a change to their environment, then they could just sell any unused RIs on the AWS Reserved Instance Marketplace. Since there were No Upfront RIs, they would not incur the 12% fee to remaining upfront costs. However, the prospect did not know that there is an undocumented policy that 3YR No Upfront Standard RIs get posted on the Marketplace at the more expensive 1YR RI rate. This makes the RI incredibly difficult to sell on the marketplace since no one wants to take on a nearly 3YR term at the 1YR rate.
Note that if you’re reselling your RI (“3rd Party”) you have to sell it at the 12 month effective rate
If you’re managing or optimizing AWS Reserved Instances, know that it’s not enough to purchase RIs and forget them. In this post, I’ve described the most common pitfalls — so you can avoid them.
Optimizing RIs is a full-time job. If you need help or want expert advice, contact my team at Logicworks. We offer full AWS Cost Optimizations, which includes reviewing your environment and recommending RI purchases.
Logicworks is a leading provider of AWS migration and managed services and specializes in complex, regulated workloads for healthcare, financial services, and SaaS. To learn more, visit our website at www.logicworks.com.