Make it a New Year’s resolution to improve your cloud cost optimization strategy for the year 2020 (and beyond). Here are some tips and suggestions to help.
Remember that cloud cost optimization strategy is an ongoing process
It’s human nature to notice changes which are big and/or sudden, but it’s easy to miss the little changes, which happen one day at a time, until they reach a stage when they start to make a big and therefore noticeable difference and you suddenly realize that you really need to do something about them. With that in mind, make a New Year’s resolution to go over your cloud cost optimization strategy at least once a year to ensure that it keeps pace with changes in your business and potential changes to the cloud services themselves.
Start by educating yourself and your colleagues
First of all, you need to ensure that you understand the practicalities of cloud cost optimization strategy. This starts with understanding the pricing of the cloud environments you use and this can be something of a challenge. For example, even though Microsoft Azure and Amazon Web Services both run along broadly similar lines, they each have their own sets of pricing structures, which can require quite a bit of reading to understand in depth and which are, of course, subject to change at any time (although there are options for locking in prices, such as using reserved instances).
You need to understand cloud cost pricing yourself before you can educate your colleagues on what it means for cloud cost optimization strategy, or perhaps it would be more pragmatic to say, for the company’s bottom line and therefore ultimately for their salaries, bonuses and/or share options.
This last point can be very important since it can be challenging to find a “stick” with which to enforce compliance with the sort of measures which can create real cost savings. If, however, you can show people that they would personally benefit from reduced costs, for example, if some of the money saved were to be passed along to them in some way, it could be much easier to get them on board.
For the sake of completeness, passing on the benefit from reduced costs doesn’t necessarily have to mean increasing salaries or providing bonuses (although it can do). It can be something as simple as telling people that if they company can save X amount of money you will spend Y on buying something they would like, which can be anything from pizza to a pool table.
Learn to love cost-monitoring tools
Maybe “learn to love” is a bit strong, but learn to get to grips with them at any rate. As an absolute minimum, get confident with the tools provided by your cloud services. Once you’re comfortable with them, try out some third-party cost-optimization tools such as Cloudability and Cleanshelf. Even though many of these tools are chargeable, they can often more than make back their price in cost savings.
Really think about what cloud region(s) you use
Admittedly, in some cases, you will not actually have a choice of cloud regions due to legal restrictions, but if you do then it’s definitely worth taking the time to think about it. Although being in the nearest region to your customers may reduce latency, depending on where you are located it may not be the most cost-effective option.
Consider a move to tiered storage
Obviously, any data you need to access regularly and/or quickly is going to need to be on a cloud storage solution which reflects that, but in most companies there’s at least some data which is being archived “just in case”, often for tax/regulatory compliance reasons.
In many cases, this data is probably never going to be needed and even if it is, then it’s not going to be needed immediately. If you need convincing about this, then look at the data you hold and check how long you would have to comply with a request for it. If it’s longer than a couple of business days, then you should be absolutely fine with the 4 hours or so it will typically take you to “thaw” data out of the likes of Glacier.
Do your sums on pay-per-use services
There are basically two ways to pay for cloud services. One way is to book resources and use them as much (or as little) as you want and the other way is to pay per use. The former tends to be geared towards heavier usage and the latter towards lighter usage. This means that you need to be very careful about opting for pay-per-use services (such as serverless functions) as they can work out very much more expensive than just paying for resource to use as you wish, but they can also work out much more economical for resources you genuinely only need on an occasional basis.