How to reduce and optimise the cost of your Cloud environment
We are all being asked to reduce costs and do more with less at the moment.
Many organisations have migrated a significant proportion of their workloads to the Public Cloud.
The promise of pay by the second for resources, combined with the ease of provisioning, can lull you into false sense of security re the cost savings you are making.
This can result in bill shock at the end of the month every time you see your AWS or Azure bill.
Here are some best practices for optimising and reducing the costs of your Public Cloud environments.
#1 Shutting off resources is not enough!!
You still pay for resources even when they are shut down.
They must be deleted for you not to be paying for them!
In addition, to ensure that you are not paying anything you need to also check that you- de-allocate resources as well.
Shutting down a virtual machine doesn’t mean you stop paying for it, neither does deleting it you have to de-allocate it (so you stop paying for the allocation) and delete the storage as well.
The cloud providers are experts at getting you to pay for things you aren’t using.
#2 Right size your instances
Pay by the second costings make everything look cheap and can result in your team super sizing the instance sizes they are choosing.
This habit comes from an on -premises mentality where you can over provision your environment without any penalty.
In the Cloud you can provision 95% of what you need and scale up as required.
#3. Use cost management tools
The native tools integrate really well into the Cloud environments, for example Microsoft acquired Cloudyn as their tool.
VMware’s Cloud Health is an excellent cloud agnostic tool that spans all the clouds and on premises.
Use these tools and if a resources cost is static that’s a good sign you can delete it.
#4 Set up different subscriptions for different cost areas
This is good governance.
By having different subscriptions for: Development and Development tools, QA and Acceptance Testing and another for Production.
You can track what areas are costing you the most.
You should also ensure your team are not provisioning the same size instances in Development as they are in Production, that is just a waste of money.
#5 Use your own Tags and naming conventions
This is also good governance as well as a cost saving measure.
Give your resources proper names that make sense to your organisation.
Do not let the cloud vendors automate your naming, as you will never remember down the track what these files or resources were for, this means you will be afraid to delete it.
Fear of deletion is your enemy.
By tagging and naming your resources properly and using resource groups, for example create groups like “test” resources as an example, you will know that when you delete resources in this group it is all test not production.
#6 Does it even make sense for this application to be in the Public Cloud?
If your organisation got caught up in the Cloud Hype a few years ago and lifted and shifted a bunch of static Windows/Linux virtual machines that get no benefit from being in the cloud and can be costing you up to 3 times as much as being on premises, look at repatriating them back to your Data Centre and save significant money.
Most organisations now have a Hybrid Cloud strategy and use best of breed and place workloads where they are most suited.
#7 Use reserved instances for long term resources to save money
If your resources will be in the Cloud for a long time you can save up to 30% by pre-paying for them for 1- 3 years by selecting reserved instances.
#8 Use native services where it makes sense
Where you can move to native services like Azure SQL you will save money on a number of fronts as well as get a big discount from Microsoft as you can re-use your on-premises licenses.
This is called Hybrid Benefits.
Very much like friends with benefits.
#9 Use Automation
The more you can automate resources to shut them down and delete as needed, the more you are taking advantage of the Public Cloud and using it as it is supposed to be used.
Shutting off, deleting and building on-demand by policy will get you the best outcome from a cost perspective.
#10 Use management groups and policies
Using Role Based Access Controls and policies, you can restrict the resources your developers can have access to.
The Cloud Vendors also allow you to “lock” access to certain resources by policy so you can limit what your staff can provision and even shut down, so that someone doesn’t delete your production environment by accident through a typing error in an automation script.
If you are interested in our other Cloud, Infrastructure and Security related Blogs please click here.