AWS cost optimization
A large Enterprise company with multiple accounts all spending over 1.8M per month wants to cut expenses for itself and its customers. They use both Reserved Instances and Savings Plans within AWS.
$1.8M
Original monthly expenses
2 d
Time spent
$18K
Savings on unused resources
$800K
Savings on overprovisioned EKS resources
$5K
Savings on storage optimization
$823K
Total savings
Use case
Company’s AWS users tag their resources, which enables allocating cost grouped by tag. When applying it together with pricing info and utilization analytics they get an opportunity to highlight unoptimized cloud usage and scale down instances which cause it. This use case helps the organization to balance workload to reduce budget waste caused by overprovisioned resources.
Challenges
- Calculate product monthly cost
- Detect underutilized resources
- Scale according to utilization
- Calculate savings
Solution
To allocate product’s cost and filter associated resources with low-loaded CPU was used Optimization lab. CloudAvocado exposed the resources in question, which then allowed the team to focus on what to do with the resources as opposed to trying to find these resources.
- Consolidate Resources.
- Reconfigure Auto Scaling groups.
- Downgrade overprovisioned resources based on CPU (but keeping memory the same or higher).
- Upgrade resources for reduced cost.
How does it look like on practice? After getting resources’ CPU utilization data for a 90 day period (approximately in 20 minutes after setup) along with their tags and cost, CloudAvocado detects overprovisioned ones that have <10% of CPU load at their peaks. The only task left is to choose and rightsize the most wasteful ones.
After defining applicable replacement to meet load requirements and setting up an appropriate Auto Scaling groups user saved 44% of his budget from being wasted only on EKS usage.