The Uncomfortable Truth
Almost every company we audit is overspending on AWS by 30-40%. Not because AWS is overpriced, but because defaults are expensive and most teams set things up once and never revisit.
Here are the seven changes we make on virtually every new client engagement. Most of these take less than a day to implement and start saving money immediately.
1. Right-Size Your EC2 Instances
This is the lowest-hanging fruit. We consistently find instances running at 5-15% CPU utilization. A t3.xlarge sitting at 8% CPU should be a t3.medium - that is a 75% cost reduction on that instance.
How to find them: AWS Compute Optimizer gives you right-sizing recommendations for free. Enable it, wait a week for data, and follow its suggestions.
Savings: 20-40% on EC2 spend, which is usually the biggest line item.
2. Use Savings Plans (Not Reserved Instances)
Reserved Instances are inflexible and confusing. Compute Savings Plans give you the same discounts (up to 66% off on-demand) with way more flexibility - they apply across instance families, regions, and even Fargate and Lambda.
How to do it: Look at your last 30 days of usage in Cost Explorer. Buy a 1-year no-upfront Compute Savings Plan that covers your baseline. Start conservative - you can always buy more.
Savings: 30-40% on compute that you are already running 24/7.
3. Kill Zombie Resources
Every AWS account has them: unattached EBS volumes, unused Elastic IPs, idle load balancers, forgotten RDS instances in dev accounts. They cost money every hour and do nothing.
How to find them: AWS Trusted Advisor flags some of these. For a more thorough sweep, we use a custom script that checks for resources with zero traffic or connections over the past 14 days.
Savings: $200-2,000/month depending on account size. It adds up.
4. Move to Graviton
ARM-based Graviton instances (t4g, m7g, c7g) are 20% cheaper than their x86 equivalents and often faster. If you are running Linux workloads - and you probably are - there is no reason not to switch.
Caveats: Make sure your application and dependencies compile for ARM. Most modern stacks (Node.js, Python, Go, Java) work without changes. Docker multi-arch builds make this painless.
Savings: 20% on every instance you migrate, with no performance penalty.
5. Implement S3 Lifecycle Policies
Most S3 buckets have no lifecycle policy, meaning every object stays in S3 Standard forever. For logs, backups, and infrequently accessed data, this is wildly expensive.
What to do:
- Move objects to S3 Infrequent Access after 30 days (40% cheaper)
- Move to Glacier Instant Retrieval after 90 days (68% cheaper)
- Delete or archive to Glacier Deep Archive after 365 days
Savings: 50-70% on S3 storage costs.
6. Use CloudFront for Everything Public
If you are serving static assets, images, or API responses directly from your origin (ALB, S3, API Gateway), you are paying more for worse performance. CloudFront caches at the edge, reduces origin load, and data transfer from CloudFront is cheaper than from most AWS services.
Savings: 20-40% on data transfer costs, plus faster load times.
7. Set Up Cost Anomaly Detection
This does not save money directly, but it prevents surprises. AWS Cost Anomaly Detection uses ML to flag unusual spending patterns and alerts you before a misconfiguration turns into a $10K bill.
How to do it: It takes 5 minutes to set up in the AWS console. Create a monitor for each service or linked account and set up SNS notifications to Slack or email.
Savings: Prevention of the one bad month that wipes out a year of optimization.
The Bigger Picture
These seven changes typically save clients $2,000-20,000/month depending on their spend level. If you are running Next.js workloads on AWS, we cover infrastructure-specific optimizations in Deploying Next.js on AWS the Right Way. But the real value is building a culture of cost awareness. We set up dashboards, alerts, and monthly review processes so savings persist after we leave.
If your AWS bill makes you wince every month, let us take a look or learn about our cloud infrastructure and FinOps service. The audit is free and we will tell you exactly what to fix.