How Atlassian Nailed the Reserved Instance Buying Process
We’ve previously looked at how to determine the profitability of an individual reservation purchase based on its break-even point. It’s very important to understand the fundamental principles of Reserved Instance (RI) buying on this level; but in the real world, you aren’t likely to be faced with such simple examples. Chances are you’ll have many instances coming and going throughout each day, which means that in order to make the right Reserved Instance purchases, you’ll have to base your decisions on an aggregated view.
In this post, we’ll look at how one of our customers, Atlassian, approaches this process through use of a 90% “water line” on their aggregated view (a visual indicator of where RI coverage is enough to yield significant savings), and how this drives smart RI purchasing decisions. Atlassian is a team collaboration software company that builds products to help software developers, IT departments and business professionals work better together. Before we look at how Atlassian nailed their RI buying process, let’s focus on the fundamentals of establishing any water line.
Building a histogram of usage
This exercise centers around building a histogram of EC2 instance usage. We do this because RIs aren’t purchased for individual instances, but instead for the instance hours of the day. For example, say we have three individual m4.large/Linux/ap-southeast-2a instances that all run for a portion of the day, pictured here:
Figure 1: Three Instances running at the same time
In the above example, the instances all run at the same time. If we were to buy a reservation for any of them — or three reservations, one for each — each of those RIs would only be used during 33% of the day, and wouldn’t be accruing savings the other 66% of the time. Therefore, these reservations would probably not be worthwhile purchases. Now let’s take a look at another scenario:
Figure 2: 3 Instances running at mutually exclusive times.
In this example we still have the same number of instances running for the same combined amount of time — but because the instances are running at mutually exclusive times, the way we calculate our reservation needs will be completely different. If we were to purchase one Reserved Instance, it would fully cover each EC2 instance throughout the time period, achieving 100% utilization and maximum savings.
This is a simple example of how understanding your complete usage profile dictates your RI purchasing decisions.
Now let’s look at more complex scenarios and what Atlassian refers to as the waterline as illustrated by the following diagram. Every letter block represents an individual instance and the hour it ran. For example, you can see that instance A and B ran for every hour. All the other instances ran for only a part of this time period. Also note that all of these instances are the same (because they are all m4.large/Linux/ap-southeast-2a instances).
Figure 3: Stacked histogram of instance usage
Let’s say that this ten hour block is repeated over and over again for one year. We can see that if we purchased four RIs, they would each have 100% utilization; a fifth RI would have 90% utilization, a sixth RI 80%, and so on. It’s unlikely that you’d purchase a seventh RI, as it would only have 50% utilization. In any case, you can consider each layer in the histogram and compare its utilization against the break-even point of the appropriate RI.
Atlassian purchases up to the layer which achieves 90% utilization, which they call the 90% “water line.” As Atlassian’s Principal Systems Engineer, Mike Fuller explains, “We purchase RIs at or above 90% utilisation. This provides good savings on your RI purchases and also allows a margin for some reduction in utilisation while maintaining savings. If we purchase at a lower utilisation, you run the risk of having your RIs underutilised wasting money. By covering some instances that are running less than 100% of the time, we maintain a higher RI coverage than otherwise would be possible.”
Visualizing your water line with Cloudability
If that sounds complicated, don’t sweat—Cloudability distills these usage histograms for you, and you can easily set your own water line value to create an RI portfolio which suits your specific needs.
On the main RI planner page, you can see purchasing options, estimated net savings, and get an idea of total upfront fees and estimated savings rates.
Figure 4: Here's an example of the RI Planner at work
All of your recommendations will now be based on this water line. To see for yourself, select one of the individual recommendations (using the "Details" button) and look at the displayed histogram.
Figure 5: Visualizing the water line within Cloudability
“The power of setting your usage rate in Cloudability is you are in control of the recommendations Cloudability provides, setting the trigger point on which you purchase RIs for your EC2 instances,” says Mike. “We are able to use this feature to validate the RI purchases Atlassian makes, assisting Atlassian in maintaining an RI utilization at or above 90% and by result achieving great savings.”
Define your water line
You might even consider setting your threshold at 100%, so that you only purchase RIs that are projected to see 100% utilization. This could be a good option if you have a very large selection of recommended RI purchases, and you need to prioritize which ones to purchase first. Setting this high water line is also a good option for those getting started with RI purchasing, since it allows you to build up confidence before making more aggressive RI buys.
Whether you’re already using a water line strategy or would like to build one now, you can plan your own Reserved Instance purchases by logging in or signing up for a free 14-day trial of Cloudability today.