Suffering from Cloud Bill Shock? Here are 4 Ways to Optimize Your Cloud Costs
Nobody likes surprise cloud bills, and nobody likes (or should be) paying more than what they need. A key benefit of moving to the cloud is to save on costs, but realizing this benefit requires actively managing your cloud.
I recently attended an AWS Summit, where I delivered a presentation with AWS on the 4 Pillars of Cost Optimization, which include:
- Reserved Instances
- Increased Elasticity
- Ongoing Monitoring and Optimization
The good news is that by understanding your cloud options and analyzing the right metrics, you can be successful with all four of these pillars. You’ll not only reduce costs and avoid the monthly sticker shock, but you’ll also improve your overall cloud performance.
Pillar #1: Right-Sizing
When you right-size your cloud, you choose the optimal storage and instance types for each of your workloads based on their performance metrics, and then optimally provision them to match your actual usage. Because cloud options and your environment are always changing, right-sizing your cloud must be done on an ongoing basis.
Take, for example, right-sizing compute. There are over 60 instance types for compute on AWS, ranging all the way from t2.nano to x1s. By measuring performance metrics, including peak CPU utilization, RAM usage, disc IOPS and bandwidth, and throughput, you can find the best instance types for each of your workloads.
Traditional on-premises infrastructure is generally over-provisioned - IT often purchases capacity that would sustain growth for five years. In the cloud you no longer need to do this. You can just buy what you need at the time and provision more later.
For instance, in the following chart, the target CPU threshold is 60%. The dark blue line is the observed CPU utilization on the on-premises box, which has 8 cores. If the company purchases an instance with 8 cores, the CPU is at 25% - significantly over-provisioned from the target of 60%.
As shown in the following chart, the company can reduce the cores and get a smaller instance size, moving the CPU up to 45%. They can further reduce the cores, but it won’t meet their performance target. In this case, the m2.xlarge instance gives them 33% cost savings. Their CPU and memory are just the right size, and they can purchase more capacity when needed in the future.
Pillar #2: Reserved Instances (RI)
Reserved Instances provide a capacity reservation and give you a significant discount (up to 75%) compared to On-Demand instance pricing. You have the flexibility to pay all, partial, or nothing upfront. The more you pay up front, the more you save. If your requirements change, you can modify or sell your RIs. To accurately reserve capacity, you need to know your usage patterns, which identify idle instances, how often each instance is ON/OFF, how often each is being accessed, and when during the day each is being accessed the most/least. When planning reservations, you also need to consider changes in your environment, such as increased traffic for retailers during the holiday season. RIs are only offered by AWS and therefore not available for Azure or Google Cloud Platform users.
Note: It’s essential that you accurately right-size your cloud first, or else you will reserve the wrong instances, which will result in poorer performance and higher costs.
Pillar #3: Remove Waste and Increase Elasticity
Your cloud infrastructure provides you with greater levels of flexibility than were ever possible through an on-premises data center. In the cloud, you don’t need to pay for what you’re not using.
By measuring your usage patterns, you can identify unused instances - waste that you can remove. Other instances may have variable usage time - in this case, you have two options in the cloud that you can take advantage of: auto-scaling and scheduled RIs.
For example, in the following, about 20% of the instances have variable usage patterns. They are a great candidate for autoscaling. If you have predictable usage patterns like nightly backups, or you have a web app that has a weekly predictable growth pattern, then scheduled autoscaling works best. And by combining this with scheduled RIs, you can realize even more cost savings.
Pillar #4: Measure, Monitor, & Improve
How do you gain the most cost savings in the cloud and avoid the dreaded surprise cloud bill? Apply all three pillars on an ongoing basis. Doing this successfully, however, requires what I call “cloud hygiene.” As organizations migrate to the cloud, they frequently think of their new cloud environment as fixed rather than elastic, resulting in paying for much more than needed. Cloud hygiene is a way for organizations to replace the “set it and forget it” on-premises mentality with an active monitoring and management mindset. This requires that organization put the right people, processes, and tools in place to ensure that your performance metrics, usage patterns, and all available cloud configuration options are continually actively monitored.
Cloud options – in addition to your environment and requirements – are constantly changing. In fact, the cloud is usually getting cheaper, giving you more opportunities to save on costs. It’s also continually innovating to provide more and better options, like better instance types. Only through an active management mindset can these benefits be realized.