Article

How to reduce AWS costs for a growing SaaS team

A practical guide to AWS cost optimization for SaaS teams: tagging, rightsizing, shutdown schedules, and storage cleanup.

AWS bills are easy to ignore until they're not. For most growing SaaS teams, the real problem is not that cloud costs are high — it's that nobody knows exactly why. A few patterns show up repeatedly. Unused or over-provisioned resources: - EC2 instances sized for a traffic spike that never came - RDS instances running at 10% utilization - Load balancers attached to services that no longer exist No visibility on what's driving the bill: Without tagging and cost allocation in place, AWS Cost Explorer shows a total but not a story. You can see compute costs went up 30% last month, but you can't connect that change to a specific service or team decision. Environment sprawl: Development and staging environments left running over weekends, or spun up for a project and never cleaned up. These are cheap individually and expensive in aggregate. Storage that nobody checks: Snapshots accumulating for years. S3 buckets with no lifecycle rules. Log groups retaining data indefinitely at logging prices. What actually helps: Start with tagging. Every resource should have an owner and a purpose. Without this, cost allocation is guesswork and cleanup is risky because nobody is sure what's safe to remove. Then use AWS Cost Explorer and Compute Optimizer seriously. Compute Optimizer will tell you which instances are over-provisioned and by how much. That makes the next step a list of specific changes with estimated savings attached. Schedule non-production environments to shut down outside working hours. This alone can cut 60-70% of dev and staging costs, since those environments are idle most of the time. Set lifecycle policies on S3 and log retention limits on CloudWatch. Left unconfigured, both grow without limit. A 90-day log retention policy is usually sufficient for most SaaS compliance needs and costs a fraction of keeping everything indefinitely. The realistic outcome: For a team spending $8,000 to $25,000 per month on AWS, 12-20% in waste is typical. That's not a guaranteed number — it depends on how the account was built — but it's common enough that a structured cleanup is almost always worth doing before signing another year of reserved capacity. The goal is not to make AWS cheap. It's to make it legible, so the bill reflects actual decisions instead of accumulated drift.