ยท 5 min read
Reduce AWS costs: an ownership problem, not a pricing one.
A bill that grows faster than revenue is telling you something about your organisation, not about Amazon's price list. What actually brings it down, and in what order.
Why is the AWS bill so high?
Because nobody owns it. An AWS, GCP or Azure bill that grows faster than revenue is usually an architecture and ownership problem rather than a pricing one. Environments that outlived their product, clusters sized for a peak that never came, storage retained forever by default, and pipelines nobody dares touch keep billing every month regardless of what rate finance negotiated. Most companies that look find 25 to 40 percent of the bill is waste or unowned technical debt.
Split the bill into three kinds of money
The single most useful exercise is to read the spend against the architecture and the traffic, and sort every line into:
- Waste. Buys nothing today: dead environments, oversized nodes, forgotten snapshots. Switch it off; nobody will notice.
- The price of technical debt. Buys something, but only because the architecture forces it, like a pipeline storing every intermediate result three times. This is a monthly bill with a one-off fix; the math lives in what technical debt costs per month.
- The real cost of the business. What the product needs at current traffic. This is the only part where savings plans and reserved instances belong.
In one engagement that split turned EUR 74 000 a month into EUR 19 000 of waste, EUR 12 000 of debt, and EUR 43 000 of real cost. Five months later the bill was the real cost.
What works, in order
- Name an owner for each of the top ten cost lines. Not a team, a person. The first week of this usually finds the dead environments on its own.
- Give the debt a monthly price the board can see. "This pipeline costs EUR 12 000 a month to not fix" converts a technical debate into an ordinary investment decision.
- Fix or kill, biggest payback first. The engineers can almost always do the work; what was missing was a mandate and someone senior enough to decide what may be switched off.
- Then, and only then, negotiate. Savings plans on a bill full of waste lock the waste in for three years at a discount.
What does not work
Negotiating first, for the reason above. Buying a FinOps tool without giving anyone the mandate to act on what it shows; a dashboard of unowned costs is just prettier ignorance. And re-platforming: moving an unowned architecture to new infrastructure moves the problem and adds a migration. The stack is almost never the issue.
Percentages reflect what I find across engagements. The fixed-price diagnosis produces this split for your bill, with the owners named and the paybacks attached.