You made the obvious move and migrated to Amazon Web Services (AWS). Months later, the attractive glow of the move from CapEx to OpEx spend has been dimmed by the reality of increasing monthly AWS bills. Your CFO wants to know what’s up.
This is a real challenge, according to the the head of infrastructure at a mid-sized software company we spoke with recently. Let’s call him Steve.
“I need to reduce my AWS costs as quickly as possible,” Steve told us. “My CFO saw that our AWS spend started at $20k per month when we migrated last year. Now it’s over $100k per month, which makes it one of our biggest line item expenses. We’re under a direct mandate: We have to bring it down.”
The problem is clear. But how did it get so bad, so quickly?
Your Infrastructure is Probably Exploding
“As we started to dive into it, we found that a large part of our spend is simply on waste,” Steve said. “With the rapid growth in our AWS use, we didn’t have visibility and policies in place. Our developers aren’t properly cleaning up after themselves, and resources aren’t being tracked, so it’s easy for them to be left running. It’s something we want to change, but it takes time and energy to do that.”
This is a familiar story for many small-to-medium sized businesses, whose agility allowed them to adopt the cloud early. But sometimes, the other side of the “agility” coin is a lack of defined processes, which leads to waste.
As Steve put it, “AWS built this awesome playground – everyone can play, but everything costs money.”
Amazon recently announced that AWS will likely be a 10 billion dollar per year business by the end of 2016. This is partly from their rapid gain in customers – and partly due to each of their customers spending more and more each year in their massive playground.
Beat Your CFO to It
There’s no need to wait for your CFO to come knocking on your door to take a swing at controlling AWS costs.
- Visibility – start with taking a look at your existing environments. If your environment is large, a single dashboard view that shows multiple accounts and AWS regions can be helpful.
- Communication – talk with your team and set clear guidelines around provisioning appropriately sized instances, managing existing instances, and stopping non-production instances when they are not needed.
- Control – start taking action on these guidelines to optimize your AWS costs. Here are a few recommendations:
- Use Reserved Instances in most production environments.
- Use Spot Instances for high-volume, risk-tolerant use cases, such as data batch jobs for production, and scalability/load testing in non-production.
- Use Auto Scaling Groups in production in conjunction with On Demand instances that match Reserved Instances you’ve bought.
- For non-production, use EC2 instances with scheduled on/off times so you only pay for the hours you need.