# Cutting an AWS bill from US$240k a year to under US$40k

> An agtech platform was paying about US$240,000 a year for AWS. The programme under way takes it under US$40,000: roughly US$200,000 a year back in the business, for the same workload.

- Client: An Australian agriculture-technology company with a large IoT sensor network (Agriculture technology)
- Role: Architect and lead engineer, Nicolas Dao
- Status: In progress. At Cloudless Labs
- Capabilities: Cost optimisation, AWS architecture, Serverless, FinOps
- Web page: https://cloudlesslabs.com/work/aws-bill-cut/

## Outcomes

- From about US$240,000 a year to a target under US$40,000: a cut of more than 80%.
- Roughly US$200,000 a year back in the business, every year, for the same workload.
- Delivered in stages, each one measured on the bill, while the platform keeps running.

## The situation

Cloud bills rarely explode in one go. They creep: an oversized database here, logs nobody reads there, servers running at night for traffic that only comes by day, services bought for one experiment and never turned off. After a few years of growth, this platform was paying about US$240,000 a year to AWS, and nobody could say exactly what for.

## What I'm doing

This work is in progress. The method is the one I use on every bill:

- **Find where the money goes.** Every dollar on the bill traced to the service, the resource and the business feature behind it. On most bills a handful of lines carry most of the cost.
- **Kill the waste first.** Resources nobody uses, data nobody reads, capacity nobody needs at 3 am. It's the fastest money, and the least risky.
- **Re-architect what's expensive by design.** Always-on servers become serverless functions that cost nothing when idle, chatty services stop paying per message, and data moves to storage priced for how often it's read.
- **Commit only when the baseline is known.** Savings Plans and reservations come last, once the architecture has stopped moving, so the commitment matches what's really used.

Each stage is shipped and measured on the next bill before the next one starts, so the business sees the savings land, month after month, with the platform running throughout.

## Why it matters to you

A cut of more than 80% sounds like a magic trick. It isn't: it's what happens when a platform designed for a server is redesigned for the cloud it runs on. If your AWS bill has grown faster than your business, the same money is probably sitting in yours.

## Built with

- [Amazon Web Services (AWS)](https://cloudlesslabs.com/stack/aws/index.md): My default in The Stack
- [Cost Explorer (with Claude Code)](https://cloudlesslabs.com/stack/aws-cost-explorer/index.md): My default in The Stack
- [Savings Plans and Reserved Instances](https://cloudlesslabs.com/stack/aws-savings-plans/index.md): My default in The Stack
- [AWS Lambda](https://cloudlesslabs.com/stack/aws-lambda/index.md): My default in The Stack
- [Amazon CloudWatch](https://cloudlesslabs.com/stack/aws-cloudwatch/index.md): My default in The Stack
- Bill analysis
- Rightsizing
- Re-architecture

## Related

- [CloudWatch and Firehose, side by side](https://cloudlesslabs.com/stack/guides/chatty-logs/index.md): the decision guide behind it
- [Off a fragile VPS and onto AWS, with almost no downtime](https://cloudlesslabs.com/work/vps-to-aws/index.md): a related project
- [Real-time ingestion for a national farm-sensor network](https://cloudlesslabs.com/work/realtime-iot/index.md): a related project
- [From legacy ASP.NET and stored procedures to Node.js on serverless](https://cloudlesslabs.com/work/dotnet-to-serverless/index.md): a related project
- [Every project](https://cloudlesslabs.com/work/index.md)
- [How we work](https://cloudlesslabs.com/about/how-we-work/index.md)
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
