FinOps Engine
Cloud Cost OptimizationOrg-wide FinOps program at Finarkein — Kubecost migration + EKS rightsizing.
- Problem
- Nobody had a clean, current answer to which EKS nodes Finarkein was paying for but not actually using. Cost data lived in the AWS Cost Explorer API, utilization lived in Prometheus, and reconciling the two by hand didn't happen often enough to catch drift before it became real waste.
- System
- Kubecost migration plus a cost-utilization dashboard on the AWS Cost Explorer API that joins per-node cost against live CPU/memory utilization, so over-provisioned EKS nodes get ranked and flagged instead of found by accident.
- Where cost was goingOver-provisioned EKS nodes running at low utilization — invisible until the bill showed it.
- What was analyzedAWS Cost Explorer API cost data joined against live Prometheus CPU/memory utilization, node by node.
- What was changedMigrated cost visibility onto Kubecost and rightsized the nodes the correlation flagged as wasteful.
- What was automatedThe cost-utilization dashboard itself, so waste gets flagged on an ongoing basis, not rediscovered by accident.
Infrastructure cost
$20K+/mo savings
Conceptual — exact before/after totals aren't published; the reduction is the reported figure above.
›Engineering decisions
Why Kubecost instead of Cost Explorer alone?
Cost Explorer prices AWS resources; Kubecost maps that spend onto Kubernetes namespaces and workloads — the layer needed to find waste on a shared EKS cluster.
Trade-off
Optimized for: keeping the cost/utilization correlation logic in TypeScript, where it was easier to iterate. Made harder: a second place engineers had to check for infra insight, instead of one Grafana view.