As we move into unprecedented times, where operational budgets are under scrutiny, it’s important to look at your variable IT costs and how you may reduce them.
One of the many benefits of cloud is its variable and flexible nature, and hence it’s a great candidate for looking for cost savings.
The following items are based on Asystec’s experience in helping our customers with Cloud cost management and we can provide this service for not only AWS, but also for Azure and GCP.
So, let’s take a look at the 12 focus areas, and hopefully some of these will help you drive some cost savings within your own business:
1. Unattached EBS volumes – When an EC2 instance is launched and when an EBS volume is attached, sometimes the box titled “delete on termination” is not selected, and for whatever reason, this can lead to an unattached volume sitting there burning a hole in your pocket.
2. Deleting aged snapshots – A lot of organisations are using snapshots for point in time records, and this can get out of control if not watched carefully. It can become a compounding issue if the snapshots are taken continually and not deleted. It’s good practice to keep several snapshots to protect against corruption, to roll back, but we had recently spoken to a company that had snapshots almost 2 years old.
3. Release disassociated Elastic IP Addresses – Elastic IPs are free when associated with a running instance but if an instance is stopped or terminated, if you don’t associate with another running instance, you are charged a fee. Often people can delete EC2 instances, but forget to delete Elastic IPs. First search for them, but secondly introduce a best practice process to ensure deletion includes this.
4. Terminate zombie assets – Often people forget to turn off resources, perhaps failed launches of instances. Often de-provisioning scripts could fail and this didn’t pick up the wastage. Start your hunt for EC2 instances that have a max CPU of less than 5% over past 30 days. Cloudwatch can do this for you. BTW, RDS and Elastic Load balancers can also be zombies, not just EC2 instances.
5. Upgrade to the latest instance generation – Every couple of years, AWS come out with newer versions that offer performance improvements, and often can be cheaper. Eg: Upgrading a m3.xlarge to an m4.xlarge will cut costs by up to 24% while offering more memory!
6. Rightsizing EC2 instances and EC2 volumes – Rightsizing is the process of ensuring your assets are utilized efficiently. Look for instances that have an average CPU of less than 5% and a max CPU of less than 20% over a 30 day period. This is a clear and obvious candidate to save you money. You can use Cloudwatch for CPU metrics, however you may want to look at memory, network and disk, and you would need to use a tool to help you look at this more holistically, more on that tool later. We have customers that rightsize circa 20 EC2 instances per month.
7. Switch if off when it’s not needed – How many of your instances need 24×7 service? Test and Dev and QA are great examples of where you can switch them off in evenings and weekends and holidays. If you switched off from 12pm-5am weekdays and all day on weekends, you could save 73 hours per week out of 168 available hours. That could cut your costs in half for these environments!
8. Buy reservations and automate modifications – Buying reservations can save you up to 72% compared to on demand. These are 1 and 3 year term commitments based on steady state usage. You should aim as a best practice to aim for 60% reservation coverage on EC2 instance hours. The options can be confusing (1 year, 3 year, Convertibles, etc). You need to keep these continually modified. You can switch them between regional and AZ scope, you can change an instance size within the same family, you can split them, merge them. Convertibles RI’s released in 2016 are even more flexible where you can modify between families, so worth looking at.
9. Consider an AWS Savings Plan – EC2 offers 200+ instance options across 22+ AWS regions, and without a tool like CloudHealth it can be different to manage. It is a flexible pricing model that offers up to 72% off for EC2 or Fargate based on a commit to consistent usage over 1 or 3 years, and in exchange they will receive a lower price for that usage. So if you commit to $10 per hour, you get the savings plan prices and anything above that, you get charged the regular on-demand pricing. Compute savings plans, you can move across families, regions, OS, tenancy, or compute options. The EC2 instance savings plans provide lowest price on selected instance family in a specific region. Right now it is only for EC2 and Fargate usage, so keep that in mind.
10. Move object data to lower cost tiers – If you have data residing in S3 for a long time, it’s not cheap, so it’s a good idea to look at how you might move that storage out of there. If data is frequently accessed (more than once a month) but less critical, maybe move to S3 reduced redundancy (same accessibility, just replicated across fewer regions), and less frequently accessed data where objects haven’t been touched for 3 months or more, maybe move to S3 infrequent access, or Amazon Glacier. There are trade-offs here, but worth considering.
11. Go Serverless where possible – Lambda is code that is triggered by an event and you only pay for compute in milliseconds and can be very useful for apps that are used infrequently. Some good examples it can be used for are actions like processing uploaded files/images up to S3, or to automate basic operations like triggering snapshots, etc. Remember you pay for EC2 while it sits there idle, where Lambda only charges as it runs. Based on number of requests and duration of the function, based on duration of the function on memory allocated.
12. Use a Cloud Cost management platform – Solutions such as CloudHealth, through policy, do all of the above in an automated fashion. On top of that, it can help you create budgets, and spending alerts, to keep on top of your cost savings and introduce solid governance into your cloud efficiency processes, as well as other added benefits around security and compliance posture. The recommendation here is that if you don’t have the time to be doing the above 11 points on at least monthly on a manual basis, the investment of a platform may be justified.
At Asystec, we have a breadth of experience and skills in this space, and are happy to advise you on your best course of action to keep costs down. For more information, please visit asystec.ie/cloud or contact Lorne on [email protected].