One of the most popular topics among cloud users is how to save money on their cloud bills. Our recent webinar comparing cloud prices on AWS vs, Azure vs. Google Cloud was a crowd favorite. However, it is just as important to actually optimize your AWS costs or your costs on whichever clouds you decide to use.
Over the last several months, we’ve been working with RightScale customers on our Cloud Cost Optimization Service that helps to optimize their costs on AWS and other clouds. In doing so, we’ve compiled some revealing stats that illustrate just how much wasted spend there is on cloud in the real world and where that waste can be found.
While this data is an average of seven customers that we’ve recently been helping to optimize costs, it is representative of what we see across most cloud users. On average, we saw that 35 percent of cloud spend was wasted — ranging from 25-45 percent among this sample.
Before I delve into the key areas to target for optimization, I’ll share the average breakdown of spend by Category:
|Category||Average % of Cloud Bill|
|Compute (includes EBS in AWS)||76%|
As you can see, the majority of spend for most users is on compute, making it a key area of focus for cost reductions. However, we are starting to see some AWS users who are spending a significant amount on Amazon RDS.
The Biggest Opportunities to Optimize Cloud Spend
1. Downsize under-utilized instances
On average, under-utilized VMs comprised 39 percent of instance spend. These instances were below 40 percent utilization for both CPU and memory and, in fact, most of them were below 20 percent. Under-utilized instances should be considered as candidates for downsizing either one or two instance sizes. Keep in mind that downsizing one size in an instance family reduces costs by 50 percent.
2. Turn off unused instances
To fully optimize cloud spend, you must scale down workloads when demand falls and turn instances off that are no longer being used. We found that there was only 31 percent variability between the highest and lowest number of instances on a monthly basis, which is below the level that can be achieved in a well-optimized cloud account.
Production instances should be auto-scaled to meet demand. Shutting down development and test instances in the evenings and on weekends when developers are no longer working can save 65 percent or more of costs. And instances for training, demos, and development must be terminated once projects are completed.
3. Use Reserved Instances on AWS
The primary discounting option available on AWS is purchasing Reserved Instances. In exchange for a commitment of one or three years, you get a discount on your instance costs. Only 19 percent of instances were covered by Reserved Instances in our sample, and most customers had less than 5 percent of instances covered. As a result, they were paying the higher on-demand prices.
Many AWS users are afraid to buy Reserved Instances because they know that they will need to make changes in the number, type, and location of instances used. The strategy in this situation is to target a certain percentage of Reserved Instance coverage depending on the variability in your future plans.
It is also important to understand and plan for Reserved Instance modifications as well as selling Reserved Instances on the Marketplace. Amazon’s new Convertible Reserved Instances also allow for changes in the types of instance, although they require a three-year commitment.
4. Clean up storage
We found that unused cloud storage (including unattached volumes and old snapshots) represented 7 percent of cloud spend. You can leverage automated tools to find and cleanup unattached volumes and old snapshots so that you never have to worry about waste.