Case Study

60% AWS Cost Reduction: From $45,000 to $18,000 per Month

How we audited and optimized the AWS infrastructure of a SaaS startup spending $45,000 per month with no cost controls, reducing the bill to $18,000 with better performance.

SaaS startup (confidential) SaaS AWS Cost Optimization

60%

Cost Reduction

From $45K to $18K monthly AWS bill

-40%

Response Times

Improvement in API response times

0

Downtime

Zero downtime during the entire optimization process

A B2B SaaS startup with 3,000 active customers and a 20-person team had been growing for two years without paying much attention to their AWS bill. When they were small, the bill was manageable. But the growth of the product and customer base had pushed monthly spending to $45,000, and the trend was clearly upward.

The CTO knew they were overpaying, but did not know exactly how much or where. They had no cost tags on resources, used no spend monitoring tools, and had never purchased Reserved Instances or Savings Plans. The infrastructure had been built reactively: every time something was slow, a bigger instance was added. Every time space ran out, a bigger volume was created. No analysis. No cleanup.

The Challenge

Growing Bill with No Visibility

The AWS bill was growing 15% per quarter, significantly above revenue growth (8% per quarter). At that rate, infrastructure costs threatened to consume the business’s margins within 12-18 months. But without cost tags or cost allocation, nobody could pinpoint what was generating the spend.

Oversized Instances

The infrastructure team (one person part-time) followed an unwritten rule: for any performance problem, scale up. EC2 instances with 64 GB of RAM for services consuming 8 GB. RDS instances with provisioned IOPS that were never utilized. The result was an infrastructure with 70% of capacity sitting idle.

Orphaned Resources

Two years of development meant two years of forgotten resources: EBS volumes from EC2 instances that no longer existed, daily snapshots nobody had configured to expire, unassociated Elastic IPs, S3 buckets with data from decommissioned staging environments, and load balancers pointing to no active services.

No Savings Plan

The startup had never explored Reserved Instances, Savings Plans, or Spot Instances. Everything ran at on-demand prices, which are 30% to 60% more expensive than commitment-based alternatives. For a $45,000 bill, that represented between $13,500 and $27,000 in avoidable annual overspend.

Unoptimized Data Transfer

Services communicated with each other through the public internet instead of using VPC endpoints. Every byte transferred between services generated data transfer costs that would have been free with the correct configuration. Data transfer represented 18% of the monthly bill.

The Solution

We executed the process in three phases: audit, immediate optimization, and sustainable redesign. The goal was not simply to cut costs, but to build an infrastructure that was more efficient, faster, and equipped with mechanisms to keep costs controlled long-term.

Phase 1: Complete Audit (Week 1)

We conducted an exhaustive audit of every AWS resource using a combination of AWS Cost Explorer, Trusted Advisor, Compute Optimizer, and our own analysis tools.

The result was a 47-page report with each resource, its actual utilization, its cost, and our recommendation. We classified findings into three categories:

  • Immediate savings (no risk): orphaned resources, stopped instances still generating costs, expired snapshots. Value: $8,200 monthly.
  • Right-sizing savings (low risk): oversized instances that could be reduced without performance impact. Value: $11,500 monthly.
  • Structural savings (requires redesign): architecture changes to eliminate data transfer costs, Savings Plans adoption, and migration to serverless services. Value: $7,300 monthly.

Total identified: $27,000 monthly in potential savings. 60% of the bill.

Phase 2: Immediate Optimization (Weeks 2-3)

We started with the no-risk savings because they build confidence and fund the rest of the project.

Orphaned resource cleanup. We eliminated 23 EBS volumes with no associated instance, 340 snapshots over a year old with no expiration policy, 7 unassociated Elastic IPs, 3 load balancers with no targets, and 2 S3 buckets from staging environments decommissioned months earlier. Savings: $8,200 per month.

EC2 instance right-sizing. We used AWS Compute Optimizer to identify instances whose actual usage was below 30% of capacity. Each instance was analyzed individually: some were downsized, others were migrated to newer-generation instances (which offer better performance at lower prices), and three were eliminated upon discovering they ran services no longer in use. Savings: $7,800 per month.

RDS right-sizing. The main PostgreSQL instance was a db.r5.4xlarge (128 GB RAM, 16 vCPU) with an average CPU utilization of 12% and memory usage of 35%. We migrated it to a db.r6g.2xlarge (64 GB RAM, 8 vCPU) based on Graviton, which also offered better performance on read operations. Savings: $3,700 per month.

Phase 3: Sustainable Redesign (Weeks 4-8)

With immediate savings materialized, we tackled the structural changes that required more planning.

VPC Endpoints for internal traffic. We configured VPC endpoints for S3, DynamoDB, and other AWS services that microservices consumed frequently. All traffic that previously went through the public internet and generated data transfer costs now circulated through AWS’s internal network at no additional cost. Savings: $3,100 per month.

1-year commitment Savings Plans. We analyzed stable compute consumption over the previous 6 months and purchased Compute Savings Plans with a 1-year commitment for the consumption baseline. This covered 70% of EC2 and Fargate consumption at a 35% discount over on-demand prices. Savings: $4,200 per month.

Partial migration to Fargate. Two services running on EC2 with manual scaling were migrated to ECS Fargate with auto-scaling. This not only reduced cost (Fargate scales to zero when there is no traffic) but also eliminated the need to manage underlying instances.

Alerts and governance system. We implemented AWS Budgets with alerts at 80%, 90%, and 100% of the monthly budget. We configured mandatory cost tags for every new resource (team, environment, service). We created a CloudWatch dashboard with daily cost per service visible to the entire engineering team.

Results

After 8 weeks of work:

  • AWS bill: from $45,000 to $18,000 monthly. A 60% reduction, equivalent to $324,000 in annual savings.
  • API response times: 40% improvement. Newer-generation instances (Graviton) and elimination of latency from traffic through the public internet resulted in significant performance gains. Optimizing costs and improving performance are not contradictory goals.
  • Zero downtime during the entire process. Every change was planned, executed during low-traffic hours, and monitored in real time. No customer experienced interruptions.
  • Active governance system. Budget alerts, mandatory tags, and cost dashboards ensure savings are maintained over time.
  • Freed team capacity. The person who had been spending part-time managing infrastructure manually was able to redirect that time to higher-value tasks. Automation reduced manual operational tasks by 70%.

Lessons Learned

The Audit Is the Best Starting Investment

Before the audit, the CTO estimated they were wasting “20%, maybe 25%” of the bill. The reality was 60%. Without precise data, optimization decisions are guesses. The audit pays for itself in the first month through immediate savings.

Orphaned Resources Accumulate Silently

Nobody creates an orphaned EBS volume on purpose. But without a periodic cleanup process, every sprint leaves residue: a test instance that is stopped but not terminated, a snapshot created “just in case” that is never deleted, a load balancer from a demo that is forgotten. In two years, those residues added up to $8,200 per month.

Right-Sizing Is Not Cutting, It Is Adjusting

The instinctive reaction to “optimization” is thinking about cutting resources and accepting worse performance. In practice, right-sizing frequently improves performance: newer-generation instances are faster and cheaper than older ones. It is not about paying less for the same thing. It is about paying less for something better.

Cost Governance Must Be Automatic

One-time optimizations degrade over time if there are no automatic mechanisms to maintain them. A team that optimizes its infrastructure once a year loses 30% of the savings in the following 12 months. Alerts, mandatory tags, and visible dashboards turn optimization into a habit, not an event.


If your AWS bill is growing faster than your business, or if you have no visibility into where each dollar goes, we can help. Request a free audit and within a week you will know exactly how much you can save.

We were throwing money away and did not know it. NERVICO found $27,000 of monthly waste in our AWS bill in less than a week. But what I value most is that they did not just cut costs. They redesigned the infrastructure to be faster and cheaper at the same time. Not everyone can pull that off.

CTO

Chief Technology Officer

Does Your Company Need Similar Results?

Tell us about your case in a free 30-minute session. We evaluate your situation and propose a concrete plan.