Back to Blog

AWS Cost Optimisation Tactics That Delivered 25% Savings

Learn practical strategies for reducing AWS costs without compromising performance or reliability.

When I started my current role, our AWS bill was steadily increasing each month. Leadership was concerned, and rightfully so. Here's how we reversed the trend and achieved sustainable cost savings.

The Initial Assessment

Our first step was conducting a comprehensive audit using AWS Cost Explorer and Trusted Advisor. The findings were eye-opening:

  • A significant portion of EC2 instances were over-provisioned
  • We had not yet taken advantage of Reserved Instances or Savings Plans
  • Unattached EBS volumes were incurring unnecessary charges
  • S3 lifecycle policies were non-existent
  • Implementation Strategy

  • 1. Right-Sizing EC2 Instances
  • We deployed CloudWatch agents to collect memory and disk metrics. After a period of data collection, we identified:

  • Multiple instances running at low CPU utilization
  • Others with low memory usage
  • Several workloads that could move to burstable T3 types
  • Result: significant monthly savings by right-sizing

  • 2. Reserved Instances & Savings Plans
  • Analyzed our steady-state workloads and committed to:

  • Multi-year Reserved Instances for production databases
  • Compute Savings Plans for variable workloads
  • Kept some capacity on-demand for flexibility
  • Result: substantial savings on compute costs

  • 3. Storage Optimization
  • Implemented S3 lifecycle policies:

  • Move logs to Glacier after a set period
  • Delete non-production backups after a fixed retention
  • Enabled S3 Intelligent-Tiering for uncertain access patterns
  • Result: major reduction in storage costs

  • 4. Automation & Governance
  • Built Lambda functions to:

  • Stop non-production instances outside business hours
  • Delete unattached EBS volumes after a short period
  • Alert on anomalous spending increases
  • Result: additional savings and prevented cost creep

    Lessons Learned

  • 1. Start with visibility: You can't optimize what you can't measure
  • 2. Involve the team: Engineers often know where the waste is
  • 3. Automate ruthlessly: Manual cost management doesn't scale
  • 4. Review regularly: Cloud costs are not "set and forget"
  • Next Steps

    We're now exploring:

  • Kubernetes cost allocation with Kubecost
  • Spot instances for batch workloads
  • ARM-based Graviton instances
  • The journey to cost optimization never truly ends, but with the right approach, you can achieve significant, sustainable savings.

    AWSFinOpsCost OptimizationCloud

    Share this article

    AA

    About the Author

    Adesoji Adejoro is an SRE & DevOps Lead with 8+ years of experience in cloud infrastructure, automation, and reliability engineering. Passionate about building inclusive tech teams and optimizing cloud costs.

    Learn more about Adesoji →