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:
- Visibility (Tagging): Enforce metadata tags at the warehouse layer. Every query must carry a
teamandworkload_typetag (e.g.,team=marketing,workload=dbt_transform). Snowflake and BigQuery support this natively. - 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.
- 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.