Are you tasked with reducing your AWS bill during the crisis? Here are some tips and not-so-obvious ways to lower your cloud spend now!
In the best of times, managing your cloud spend is important – in the current environment, with so much uncertainty and pressure to reduce cost across the organization, reducing cloud spend has become a top priority. As teams work to implement cost savings measures, it has become apparent that the development, implementation and enforcement of cloud governance has not kept up with the pace of cloud adoption. For all of its inherent benefits including, speed, agility, elasticity, etc., without good governance in place, these costs can go unchecked, and in many cases, companies aren’t aware of the services that are being used, or how design decisions have impacted their cloud bill over time.
Over the last few weeks, Uturn has received several requests from clients for assistance with ways they can trim costs without sacrificing the benefits that compelled them to move to AWS in the first place. From newer cloud users with only a handful of applications running in the cloud, to some of our most sophisticated born in the cloud clients, the need to control cost is top of mind, urgent in fact.
Based on real world feedback, we’ve compiled a list of quick hits, and a few ‘not so obvious’ actions that can be taken immediately to reduce your AWS bill. We’ve grouped users into 3 types of organizations; newer cloud users with a monthly spend of $5k-20K, companies ramping-up usage with $20K-$100K monthly spend, and finally, large all-in cloud users that are spending over $100K each month. For each group we’ve included actions across usage, rightsizing and governance to help you get started.
New AWS Users
These businesses are relatively new to AWS, and/or have been running production workloads on AWS for a few years, but in the past have not been terribly concerned with optimization. Typical monthly spend of $5K – $20K with a small team of individuals managing the environment.
- Remove unattached Elastic IPs (EIPs) and delete unnecessary EBS Volumes
- Ensure you have an S3 VPC Endpoint and it is added to your route tables.
- The AWS S3 VPC Endpoint is free and if your organization uses S3 it could offer cost savings with minimal work.
- Are EC2 Snapshot or EBS Volume costs high relative to EC2 compute costs?
- Check if your organization is not expiring old EC2 Snapshots.
- EBS volumes still cost when instances are stopped, are the stopped ones required?
- Watch out for EBS volumes left over from EKS cluster dynamic persistent volume claims.
- Remove AMIs that have been replaced and are no longer in use – be sure to delete the associated snapshot.
- Validate that Dev/Test resources are only running when they are required.
- Shutdown after hours and on weekend, check RDS and Redshift as well.
- Use AWS Instance Scheduler – https://aws.amazon.com/solutions/instance-scheduler/
- Review EC2 instance CPU utilization over the past 2-4 weeks, establish a baseline.
- Review instance types. Use R5 instead of M5 for memory intensive workloads. Use T family when appropriate.
- Create budgets and notifications in AWS Cost Explorer.
- Understand and make recommendations to automate tagging of AWS resources to ensure alignment with internal accounting.
- Evaluate the feasibility of implementing AWS Organizations including implementation of Organizational Units and Service Control Policies.
- Investigate Compute Savings Plans which offer a simple way to save with a 1 year commitment. These work across EC2, Lambda, and Fargate usage.
- The AWS recommendations will result in 75% EC2 coverage. For first time buying our recommendation would be 50%, so lower the purchase by 30% of recommended numbers
- Review workloads to see if you can use autoscaling, this allows you to scale resources up and down as required, so your static state is cheaper
Companies Ramping Up Cloud Usage
These are more mature users with considerable workloads running in production, development and staging environments. These companies may have a staff of talented engineers, but their AWS knowledge is limited to the environments in which they work. Many have adopted serverless technologies, started to containerize workloads and deploy resources using Infrastructure-as-Code.
- Review S3 usage – if you have versioning enabled make sure that there is a lifecycle policy to remove old versions
- Does your application use File Shares or store many large objects (LOBs) such as images in Databases? Could you rearchitect your application to store these files in S3?
- S3 storage costs significantly less than EBS volumes
- Have you reviewed Spot Instances and if your architecture could handle their usage?
- Spot instances can save you up to 90% off on-demand pricing
- Spot instances integrate well with many build engines
- Check your AWS bill to make sure there is no AWS charges in regions you are not using
- Do you use auto-scaling? Have you tuned your baseline recently? Ensure that you have a process semi-annually to review your auto-scaling baselines
- Are you using containers? Many workloads can be moved to containers which will better utilize the full EC2 instance. Review your application architecture for possible containerization savings
- If you are using ECS currently review your Cluster metrics and see if Fargate could save you money
- We have found significant savings when reviewing overprovisioned ECS clusters, built for spikes, that could be moved to Fargate
- Review your Savings Plans and Reserved Instances (RIs)
- Review Savings Plans for EC2, Lambda, and Fargate
- General Compute works great for all workloads, but Savings Plans allow for much greater savings when you have detailed insights into your EC2 usage and systems design
- Look at RIs for non-EC2 backed resources like RDS, ElastiCache, Redshift, and more
- Subscribe to a third-party spend analysis tool
- CloudCheckr offers many benefits including notifications on spend trends, complex reporting, and security analysis
- Perform a Well-Architected – Cost Pillar Review
All-in AWS Users with Significant Spend
Companies in this category have several skilled engineers, but are still very focused on their business and managing the environments they help build (blinders). Because their entire business runs in the cloud, they may have policies in place around usage and governance, but are not enforced. Tech teams in these companies are open minded to experimenting with new services – they recognize that there are pros/cons to design decisions and how those decisions impact performance and availability vs. cost. These companies are moving fast and often don’t take the time to reconsider design decisions made when the environment was initially built.
- Optimize Autoscaling and Deployments
- Understand cost impact of containerization scheduler (ECS/EKS)
- Savings Plan / RI
- Combination of 1 & 3 year Savings plans with both Compute and EC2 types. Maximize savings, but with some additional overhead on the analysis.
- Complex Spend Analysis
- AWS Well-Architected Review
- Detailed review with Dev/Eng teams to review usage patterns
Many of these actions can be implemented immediately to reduce next month’s bill, but taking immediate action only addresses part of the problem. Being cost conscious will likely be a universal directive for most businesses as we navigate the next several months of this crisis.
Taking action now and starting to build an actionable, measurable and enforceable cloud governance strategy (and culture) can help your business weather the storm and will pay dividends when the economy begins to recover. Read more about AWS Well-Architected Cost Optimization Pillar or contact firstname.lastname@example.org to learn more.