PLEASE NOTE: As of December 2nd 2014, there has been a major change to the Reserved Instance model. As a result, some of the information in this blog post may be incomplete.
As we discussed in last week’s intro to AWS Reserved Instances, AWS Reserved Instances can be an effective and reliable way to reduce your AWS costs.
But once you purchase a Reserved Instance, the upfront fee is already paid— you won’t recoup the reduced usage charges if you’re not using that reservation. That’s why it’s important to understand the nitty gritty of deciding which AWS Reserved Instances you need, to ensure a return on your investment.
Most RI users that we’ve talked to purchase reservations annually or based on business need. However, this is an oversimplification of the reservation purchasing process. Folks simply go all in on one or two large buys a year; they do this because with a large infrastructure, it can be really complicated to do the capacity calculations necessary for more sophisticated buys. People simply hope that they bet right.
The problem with this is that you can end up with large cliffs in reservation levels, and over time this can hamstring business decisions. For example, imagine that six months into the year after the annual RI purchase in which you purchased several Heavy RIs, you re-architect your application. Suddenly, you need a lot more memory intensive instances. The problem is that all the RIs have already been purchased— to move to the additional memory intensive instances would hit you twice, once by purchasing more expensive instances, and again because then you won’t be getting any further return out of the Heavy reserved instances you already purchased.
This speaks to the benefit of making frequent, smaller purchases; instead of leaving instances acquired between RI purchases uncovered, allow your RIs to evolve with your structure. Ideally, you should have reservations coming up for renewal and new reservations to make every month.
When it comes to actually figuring out the number of reservations that they need, a lot of people look at their overall utilization rate over a given period of time. However, this is really inaccurate if you’re looking at more than one instance over the duration of the reporting period— which you probably are. Instead, you should calculate reservation needs over hourly instance counts.
To begin, look at how many instances you have running during any given hour of the month. For an accurate usage calculation, build an hourly frequency distribution of instance levels; that is, see how many instances are running during any— and every— hour.
Then calculate what percent of the time you have a given number of running instances. For example, you may have zero instances running 10% of the time, one instance running 30% of the time, two instances running 10% of the time, four instances running 20% of the time, and five instances running 30% of the time.
Next, apply these figures to the utilization break-even point for a Light, Medium, or Heavy reservation. If the break-even point for a Heavy is around 56%, and you have three instances running 60% of the time, then buy three Heavy reserved instances. Do the same for Medium and Light instances, and congratulations— you’ve maximized your cost savings with RIs.
Making the proper calculations for RI purchases can require a lot of spreadsheets and a lot of work. Fortunately for you, the new Cloudability Reserved Instance Planner does all of the calculations for you. Select any date range in the last 90 days and the Planner will calculate your hourly instance counts for you, then recommend how many Light, Medium, and Heavy reservations to purchase. You’ll learn the estimated cost and savings of the reservations— all on the same page.