Cost and FinOps

Compute is metered, storage is cheap — model your query patterns into per-team budgets.

0/2 done

Overview

Cost and FinOps

Compute is metered, storage is cheap — model your query patterns into per-team budgets.

Why it matters

Cloud-warehouse bills exploded because nobody attributed cost back to the team firing the queries. Per-team tagging + slot quotas + reservation purchases close the loop.

Going deeper

A pragmatic three-step FinOps implementation:

  1. Visibility (Tagging): Enforce metadata tags at the warehouse layer. Every query must carry a team and workload_type tag (e.g., team=marketing, workload=dbt_transform). Snowflake and BigQuery support this natively.
  2. Attribution (Chargeback/Showback): Build a dashboard showing cost per team, per day. Even if you don't literally charge their budget (Showback), sending an email saying 'Your team burned $2,000 on queries this weekend' creates behavioral change.
  3. Guardrails (Quotas & Limits): Implementing hard caps on runaway queries. e.g., 'If a single query exceeds 10 minutes of compute, kill it.' This stops the intern's accidental Cartesian join from bankrupting the department.

Analogy

FinOps is like putting sub-meters in an apartment building.

If an apartment building has one central electricity meter, the landlord splits the bill equally among 10 units. Because no one's individual bill goes up if they leave the AC running 24/7, everyone leaves the AC running. The total bill skyrockets.

Cloud warehouses are the same. If the Data Engineering team pays the generic $50k Snowflake bill, analysts will write SELECT * queries on unstructured JSON without thinking twice. FinOps is installing sub-meters. When Marketing sees that their specific dashboard costs $8,000 a month to refresh, they naturally optimise the query or decide the dashboard isn't worth it.

Make it stick

Use the prompts below to anchor cost and finops to something you actually own.

  • Do you currently know how much money your team's most popular dashboard costs to execute every day? (Not compute time, actual dollars)
  • If a runaway query spiked your cloud bill by $5k overnight, who gets paged? How long would it take to trace it to a specific developer?
  • What guardrails (like query timeouts) are currently configured in your primary data warehouse?

Reading in progress · 0 of 2 activities done