Skip to lesson
Exit
IaC, Cost Engineering & Platform Unification1 / 2

2 min lesson

Splitting shared costs

Match each case in "Splitting shared costs" to the signal and response that fit it.

Step 1 of 2

Splitting shared coststhe honest-hard part

Some spend won't tag cleanly: a shared EKS control plane, a multi-tenant cluster, the NAT gateway every service egresses through. Pretending these are free hides real money. The move is to pick a defensible allocation key and be transparent that it's an approximation, not a measurement.

Shared cluster compute

Allocate by each team's requested CPU/memory (or actual usage).

Kubecost or OpenCost reads this straight from pod requests.

Control plane & platform overhead

A fixed "platform tax" spread proportionally to consumption.

Name it explicitly so teams see the cost of the paved road.

Cross-AZ / NAT data transfer

Attribute by source service from VPC flow logs where you can.

What you can't split, pool - and make the pool visible, not hidden.

Logging & observability

Split by log volume per service or namespace.

Often a surprise line item worth attributing on its own.

Say it like this

"Attribution has to be enforced where the cost is born, so I gate the required tags in CI - an untagged resource fails the plan, not next quarter's audit. Then I turn the bill into unit economics: not '$640K on inference' but cost per 1,000 completions, so we can tell whether spend grew from more users or a more wasteful path. The shared spend that won't tag cleanly - a control plane, the NAT gateway everything egresses through - I split by one honest, named allocation key, and I say out loud that it's an approximation."