Cloudshipped

Case study

Cutting AWS spend ~30% in 60 days

Leadership flagged the organization's AWS bill had grown too large and tasked engineering to cut the AWS bill by 30%.
This case study is how I got us there without slowing the product down.

lower monthly AWS spend
~30%
from start to finish
< 60 days
evaluated and optimized
Major AWS services

At a glance

Engagement

Company
Established B2B SaaS with a lean engineering team, no dedicated FinOps
AWS footprint
Core AWS services including EC2, EBS, EKS, ELBs, RDS, S3
Starting point
Partial IaC adoption and little cost allocation tag coverage

Monthly AWS spend

The problem

Nothing was on fire and the platform was stable but the team was too busy shipping to own the budget. The bill had simply grown too large without any end in sight.

Once we dug in, we identified two primary sources of savings:

  1. Reducing and removing the resources we no longer needed.
  2. Paying discounted prices for the resources we did need.

Here's what we did to fix that.

Industry research

29%

of cloud spend went to waste in 2026

The first increase in wasted cloud spend in five years, according to a survey of 753 cloud decision-makers.

Source: Flexera, 2026 State of the Cloud Report

The approach

Discovery and cost attribution

  • Group spend in Cost Explorer by service, then by usage type, until every line item maps to a specific resource.
  • Utilize the AWS Cost Optimization Hub for better visibility into all the savings options available, including ones that are difficult to find manually.
  • Drill down into the details: use Amazon Athena to trace cross-AZ data transfer fees back to specific traffic flows, and Kubecost to surface underutilized EKS nodes hiding within aggregate compute spend.

Two-phased Implementation

  • Phase one: apply low-risk, fast-payback changes to achieve the most with the least effort.
  • Phase two: apply the architectural changes required to reach the full ~30%.

Uptime First Approach

  • Plan every migration to avoid downtime, with a rollback path for each change.

What changed

  1. Phase 1

    Stop paying for what you don't use

    • EBS: deleted orphaned volumes, shrank oversized ones, and moved gp2 to gp3.
    • RDS: downsized oversized instances, pruned old snapshots, and moved storage from gp2 to gp3.
    • S3: reviewed cost per bucket, added lifecycle policies, and pruned stale data.
    • Networking: released public IPv4 addresses nothing was using.
  2. Phase 1b

    Pay less for what you do use

    • Instance Consolidation: Where appropriate, consolidate compute or database instances with zero downtime deployments to secure further savings.
    • Reserved Instances: applied to steady-state compute and database usage for an immediate discount with no upfront spend.
    • Compute Savings Plans: once usage stabilized, moved compute coverage to Savings Plans for a deeper discount that flexes across instance families and container workloads.

    Flexera's 2026 data found that fewer than half of organizations use any given commitment discount program, such as Reserved Instances or Savings Plans, across AWS, Azure, or GCP. — Flexera, The new era of cloud (2026)

  3. Phase 2

    Optimize necessary architecture

    • Kubernetes compute: replace static node groups with dynamic node autoscaling and improve pod bin-packing to reduce idle capacity.
    • Cross-AZ data transfer: co-locate high-traffic service pairs within a single Availability Zone to eliminate inter-AZ transfer charges.
    • Load balancers: consolidate per-service load balancers behind a shared ingress layer.
    • Databases: migrate to a managed engine matched to the workload's access patterns.

Results

  • Monthly spend was reduced by ~30% within 60 days. Target met.
  • Not only did the savings hold but cost visibility improved too. Cost allocation tags now show what each project and team costs, so the bill is something leadership can manage.
  • Leadership could track the savings themselves on the monthly bill, with no one-time estimate to take on faith.

The real benefits

The goal was never just a smaller bill.

  • The freed-up budget was reinvested into further improvements like engineering capacity and new product work.
  • The product roadmap sped up instead of slowing down for a cost freeze.

Stack

  • AWS Cost Explorer & Cost Optimization Hub
  • Amazon Athena & Kubecost
  • EC2, EBS, ELBs, S3
  • RDS & managed databases
  • EKS & node autoscaling
  • Reserved Instances & Compute Savings Plans
  • Infrastructure as code

Sample Audit Report

The audit ends in a written report like this one: itemized findings, each with the resource, the issue, estimated monthly savings, effort, and risk.

See a sample audit report

*This case study reflects work I led during an in-house role before founding Cloudshipped.