There are a lot of reasons why you might have chosen to go to the cloud. Maybe it was something straightforward like wanting additional backup to avoid having to expand your on-premise storage capacity. Or maybe it was the appeal of gaining enterprise-level technology and tools without the associated expense of having to run your own datacenter. Regardless of what got you here, if you’re like most people, cost is likely one of the most important cloud considerations.
Amazon includes cost optimization as one of the pillars of its Well Architected Framework. Since cloud resources can get expensive fast, cost optimization really should be part of your cloud strategy, regardless of the project. If it’s not, it’s easy to become one of the many Amazon customers who end up with large, unexpected costs. In a perfect world, your extremely diligent team of engineers would right-size things every time, scale resources automatically with Autoscaling groups, shut down instances when they are not in use and completely remove any unnecessary resources. But, as we all know, the real world is often far from perfect.
Unfortunately, when you’re new to the process of managing cloud architectures, it’s very easy to get distracted, overlook the essentials or make mistakes. As a result, you leave cloud resources unused, which negatively impacts your bottom line. To make matters worse, relying on manual processes is time consuming and prone to errors. So, what do you do?
The good news is that AWS provides multiple resources to help you take on this issue. It’s very important that you leverage the cloud automation tools that AWS provides to optimize your cloud infrastructure, find and eliminate unnecessary costs, and maximize your cost savings. Some of the best, most insightful tools for doing this are Trusted Advisor, Cost Explorer, Compute Optimizer and CloudWatch.
Utilizing a service like AWS Lambda allows you to run scripts on a schedule or triggered by a specific event. In addition to a consistent tagging strategy, it’s wise to implement logic to drive your cost-saving efforts. Some examples of ways to reduce costs include:
- Resource consumption savings by turning off development instances between 6 pm and 8 am
- Snapshot cleanup of volumes over 30 days old (unless tagged with desired ‘keep’ tag)
- EBS volume cleanup (using similar logic as the snapshot cleanup)
- EBS conversion to snapshots (reduces costs but maintains a way to restore if needed)
Designing and implementing cloud automation based on your company’s requirements takes the manual steps out of the equation, leaving you with ‘set and forget’ cost savings. With that said, there are some manual remediations that can significantly impact costs as well. Right-sizing is a good example since AWS doesn’t currently offer the ability to automatically hot-swap instance types.
While you may not be able to automate the entire process, even incrementally adding some cloud automation will result in a more consistent approach. It will also get you closer to your cost optimization goals.
This article has focused on just EC2 spend, but that’s just a small piece of the bigger picture. You can apply the same principles to almost any other AWS service. Knowing what and how to automate can be a daunting task, but ANM’s expert AWS engineers are happy to assist you. If you’re interested in learning more about leveraging the power of automation, reach out to us at [email protected] for a demo.