Cutting a runaway EKS bill — without selling reliability to do it
A cloud-cost engagement run as an operating model, not a fire sale: right-sizing, Karpenter, and scheduled scale-down, with availability floors that were never up for negotiation.
The bill was climbing faster than usage, and nobody owned the causal model. That is the normal shape of a cloud-cost problem: not one big leak, but a hundred small decisions nobody is accountable for, made under deadline, that quietly compound on the invoice.
What made it hard
Cost work goes wrong when it is treated as a discount hunt. The dangerous move is to shave capacity until something pages at 2 a.m., “save” money, and hand the reliability bill to the on-call rotation a month later. The real constraint here was that a large shared EKS estate — 200+ applications — had to keep its availability floors while the spend came down. Reliability was not the thing being optimised against; it was the boundary the optimisation had to respect.
What I owned
- Right-sizing against reality, not requests. Most of the early win is workloads that were lying about what they needed — requests set by copy-paste, not measurement.
- Karpenter and a capacity policy that consolidates aggressively but honours disruption budgets and minimum availability, plus a spot strategy with interruption handling — cheaper nodes, without betting the platform on them.
- Scheduled scale-down for non-production, with explicit exclusions, so nothing load-bearing quietly went to sleep.
- Storage and idle-resource cleanup — the unglamorous sweep that pays for itself.
How it was verified
Every change shipped behind monitoring of the thing it could break. A saving that degrades a service isn’t a saving; it’s a deferred incident. The rule was simple: a cost change is only accepted once the reliability signal it could move has been watched through a real traffic cycle.
The honest part
Some of it is an operating-model problem, not a knob. Cost that isn’t owned comes back — a few months later, in a slightly different shape. The durable win wasn’t a one-time number; it was leaving behind ownership, guardrails, and a way to see spend against value, so the next hundred small decisions have somewhere to land.
FinOps is maximising the business value of spend — not indiscriminate cost-cutting. That distinction is the whole engagement.