At Kumolus we are often speaking to our customers about ways to achieve cost optimization in the cloud. Infact there are numerous analyst reports that estimate cloud wastage at around 30-40% of cloud spend!
We wanted to share some of the things we’ve learned that can save you money when using AWS EC2.
Visibility is key!
Having visibility of what, where and how you are incurring costs in the cloud is the first step to achieving cost optimisation. Understanding the composition of your cloud environments provides the necessary insight required to effectively manage these pay-as-you-go resources.
With visibility of your cloud environments achieved you will have the information required to make informed decisions about the optimal way to run & operate these services. Some effective measures that can be employed to reduce your costs are as follow:
- Run-time scheduling
It sounds obvious, but only running your cloud instances when they are required is a great way to reduce your cloud expenditure.For example, if you schedule your Development and Testing environments to run only while your teams are working there is potential to reduce the cost of these environments by as much as 70%.
With the average work week occupying only 40-45 of a possible 168 hours, if you are leaving your non-production environments running full-time, there is a possibility you are incurring 120-125 hours of run cost when the services are not being used.
- Remove unused services
We often come across situations where an organisation has been diligent in terminating their unused instances but have neglected to deal with the ancillary services such as storage volumes, snapshots or provisioned IOPS. It is important to remember that these resources constitute a chargeable service and will continue to appear on your monthly cloud bill.
Leaving these services running for days, weeks and even months can translate to significant cost. Ensure your method for dealing with these services is included in your instance termination process.
- Use Autoscaling
A key benefit of cloud is that it is available on-demand and supplied under a pay-as-you-go model, meaning you only pay for what you use when you use it. For cost optimisation purposes, it is important that you leverage this key feature as it allows you to dynamically adjust IT resource supply to meet business service demand.Research by agencies such as Gartner have shown that traditional on premise data centres can run utilization rates as low as 10-20% just so they can meet the requirements of short periods of peak demand.
From a productivity and cost perspective, this is incredibly ineffective and makes it easy to see how the ability to ramp up and down in direct response to demand through cloud based autoscaling can deliver significant cost benefit to an organisation. We would urge you to look at autoscaling within your cloud environments as significant efficiency gains can be achieved.
- Set Budgets for your teams
With the benefits around agility and scale abound, our customers are rapidly pushing forward with the adoption of cloud at scale. With this rapid expansion, we often see what we refer to as Cloud Service Sprawl (CSS). CSS occurs when the consumption of cloud services grows exponentially month-to-month over a short period and organisation usage is expanded across multiple lines of business simultaneously.
When planning to adopt cloud at scale, it is important that you establishing good practices early. A mechanism for this is to set and track cloud budgets at a team or line of business level. This will ensure you keep your costs on track and are being managed proactively rather than reactively.
- Establish storage practices
It will always be necessary to keep multiple copies of your data. Knowing your data and how it is being utilised is an important factor when looking to optimise costs in the cloud.
Snapshots / RDS Snapshots
Ensure you have an effective snapshot policy in place. The more snapshots you keep the more you will pay, so it is important to define retention periods and ensure you manage the rotation of these data backups.
Data Management & Storage
The use and retention of EFS and EBS volumes should be managed with policies put in place to determine the use of snapshots over retained volumes. S3 and Glacier also provide cost effective storage options to be considered as appropriate depending on the use of data and its access requirements.
- Reserved Instances
Using Reserved Instances can be a great way to reduce the cost of your cloud environments. With savings of up to 40% achievable, it is certainly worth consideration, but it does require some advanced planning to be effective. A Reserved Instances is available based on instance type, size and region and can be obtained based on 1 or 3 year terms. To maximise your options around the use of reserved instances it will help to limit the number of instance sizes you allow to be deployed within your cloud environments.
For example, selecting a small, medium, large and extra-large standard instance size will deliver environment consistency and help to simplifying the planning and allocation of your instance reservations.
- Rightsize your instances
Rightsizing is where you look at the utilization of your services and make more appropriate recommendations based on the that utilization.
Kumolus – Cloud Management Platform helps provide visibility in to your Cloud costs which allows you to set appropriate policies to automate and govern the usage of your cloud.
From the implementation of instance schedules to recommendations of your unused/underutilized services!