Part of the AWS Well Architected Framework is a pillar called Cost Optimisation. It’s a pretty simple concept – let’s make sure you get your money’s worth from your cloud spend. But how do we achieve cost optimisation? Well, like most things in technology, there are a few answers to this. Today, we’re going to show you how to save money by using AWS Reserved Instances.
To understand why AWS Reserved Instances will save you money, we should understand how cloud resources are billed to begin with. It may not seem like it at first, but it’s very simple. For each service, there is a hourly charge, and you’re billed for the number of hours that resource existed for. The only other thing to remember is that we usually say there are 730 hours in a month, but obviously this can vary based on the number of days in the month.
Another thing to keep in mind is that all prices are listed in USD, so we’ve all just got to get used to working in dollars. There are options to change your billing currency for an account, but if ever you look up pricing, it will always be in dollars.
And one last thing to consider are your add ons. You might have an EC2 instance (a virtual server in the cloud), but what about it’s attached storage? That isn’t included, so we need to calculate that too. Snapshots? Yep, extra for those too.
So let’s say we have a t3.medium EC2 instance with 20GB of storage, and we’re not bothering with snapshots.
A t3.medium instance costs $0.0472 per hour
General purpose SSD storage costs $0.116 per GB, per month.
Our monthly calculation will be (0.0472 x 730) + (0.116 x 20) = $36.78.
If your head hurts by now, we totally feel your pain.
What’s in it for us?
So now we have calculated the cost of our server running in AWS, how do we cut that cost? Basically, we commit to buying that resource every month for at least the next year. And if you think about it, it makes perfect sense for AWS to incentivise you to think about how much capacity you might need in future.
We all think about the cloud as a somewhat nebulus and etherial idea. However when you get right down to it, the cloud is just clever software on top of racks and racks of servers in lots of data centres. Cloud providers need to plan for how much capacity they need to buy in to make sure all of their customers get a great level of service.
AWS Reserved Instances
Our earlier example saw us running one t3.medium instance all the time. Let’s assume this is a really simple line of business server which is going to be there for the foreseeable future, and isn’t likely to change much. We can commit to running that server for 3 years, and our costs go down by 49%! We would be paying $17.45 per month, plus our storage costs which were $2.32 per month.
So instead of $36.78 per month, we would now be paying $19.77. Now imagine that saving on a fleet of servers!
Not So Fast
We did say cloud bills are simple, but here’s where we get a little more complex. There are lots of variables you can choose from when it comes to reservations, and they all have a bearing on how much you’re likely to save;
- Lenght of reservation from 1 to 3 years
- Payment options – all up-front, 50% up-front (then the rest monthly), or just monthly payments
- Convertible – whether or not you can change the size of instance you have reserved
And don’t forget, the storage and snapshots we might want as well as our virtual server all need to be paid for seperately.
It’s Not All About Servers
We can reserve database instances too. I know, it is really cool isn’t it! Lots of our applications rely on front-end web servers and back-end databases, and this means we can save money on the lot.
Even More Savings Options
There’s no time to go into it here, chiefly because the train is nearly at my stop, but there are even more options! AWS recently unvailed functionality which allows us to make a saving even when we don’t know what size our resources might be. Instead, we can commit to spending a particular dollar amount per month, and receive a discount on that. This can be really handy if you have lots of scaling events in your environment (things get busy so you need more servers), or if other things change frequently like the amount of storage you might need.
If you would like to explore the cost saving options which might be available to you, why not give us a shout and we can help you out with how best to tackle Cost Optimisation for your platform.