← All work
Production result FinOpsAWSEKSKarpenter

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.

pending approval
AWS spend reduction
200+
applications kept inside their availability floors

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.

Related dispatch — the cost a platform quietly absorbs ↗