Reserved instances (RI’s and other lesser known reservation options) are a great way to save money. But they can also be quite confusing, especially when it comes to things like cross-account RI float, size flexibility and variable attributes.
Let’s talk about pies for a minute.
Say that you eat an extra-large steak pie from Bezo’s on 7th street every day. Luckily for your gravy guzzling
zeal, if you pay upfront for a fixed period, Bezo’s gives you a healthy 70% discount. Since some of Bezo’s clients aren’t quite as keen on paying the whole bang-shoot in one go, Bezo’s also allows you pay a partial amount up front for a 35% discount, or just commit to sinking a steak stodge every day and he’ll still give it to you say… 20% discount. For added flexibility, if you decide to eat two large pies (or even four medium ones) instead of one extra-large, that’s OK and your discount still applies. Bezo’s is in a couple of districts so you get these discounts at all stores in the city.
However, they won’t guarantee your pie will be available unless you commit to just one store, so if you need to know your pastry is there for the plundering, then they can give you a single store, single size option. And, once you’ve made the commitment and got the discount, Bezo’s will charge you for your pie whether you eat it, don’t eat it, eat part of it, or don’t eat your full complement of smaller pies. Every day, you’re going to pay for an extra-large steak pie no matter what.
Did you say chicken pie? You’re going to have to pay full price for it and you’ll still be charged for the steak pie (at the lower rate). Of course, they offer a clever “Bezo’s Bakewell Blender” option that you can use to roll your discount across all their types of pies – your discounts will just be a bit lower to allow for the added flexibility.
Are we still talking about pies?
Almost. Just replace ‘extra-large steak pie’ with ‘m4.xlarge’ instance type. Essentially, if you run one of these 24×7, then you should purchase a matching reserved instance for 1 or 3 years choosing to pay all-upfront, partial upfront or no-upfront to lower your usage costs. This will result in discounted usage up to around 75% depending on your choices. If you purchase the ‘one store’ (Availability Zone) option then you’re almost guaranteed to be able to run as many m4.xlarge pies instances as you have reservations for. The ‘regional’ option gets you the discounts and the size flexibility, but not the capacity guarantee. And if you think you may change some variables such as your operating system or instance family (e.g. chicken or beef, M4 to M5, or M4 to C4), then choose a convertible reservation.
It all makes more sense when you look at this “Packed like a Pasty” table:
Are you feeling lucky? Are you?
Even if you’re a reserved instance aficionado, you’d be wise to run some modelling or analysis first. You need to combine your budget, desired savings, actual usage across all potential instances, relative discounts after amortization and preferred term with considerations for how volatile the environments may be and what changes may be planned. If you’re not saving above a desired threshold, you may want to drop to a lower up-front commitment and see how that looks. If you have consolidated billing, you may want to purchase all RIs in the payer account. Plus, you really want to get a view of the ROI, payback period and the total savings.
This complexity is why we partnered with CloudHealth as the modelling and insight provided by the platform is the best we’ve ever used. In addition, it enables us to deliver continuous monitoring and modify reservations to maximize returns, as well as see where some reservations are underutilized and should be offloaded (more on the RI marketplace later).
AWS really do implement services and programs to maximize the benefit to companies using them, and as a result there is regular change to how reservation savings can be made, so it’s a program that requires constant attention and rigorous maintenance to get the most out of it. However, when added to rightsizing and proper housekeeping (the subject for next week’s post), it should be on every company’s agenda to make this someone’s day-job*.
Russell Warne is Chief Customer Officer for Kaskade.cloud. He is a Certified AWS Solutions Architect – Associate and a Certified Cloud Health Platform Administrator Associate for Cost Optimisation.
*Kaskade’s cost optimisation service exists because almost every company we meet intends to do this but lacks the time, resources or knowledge to implement and maintain. We offer a no-obligation assessment to show how much you could save, so if you want a pie for lunch let us put a report together for you. (more info here https://kaskade.cloud/services/cloud-optimisation/)