Two separate bills, two commitment types
| Bill | Commitment option to check |
|---|---|
| Databricks DBUs (classic and serverless) | Azure Databricks pre-purchase plan (commit units), or terms in your enterprise agreement |
| Azure VMs under classic clusters | Reserved VM Instances or Azure savings plan for compute |
Serverless compute has no separate VM bill, so VM reservations don't apply to it.
Find the baseline
-- Monthly DBUs by product over the last 12 months
SELECT date_trunc('month', usage_date) AS month,
billing_origin_product,
SUM(usage_quantity) AS dbus
FROM system.billing.usage
WHERE usage_date >= add_months(current_date(), -12)
GROUP BY ALL
ORDER BY month, billing_origin_product;
For VMs, use Azure Cost Management filtered to the Databricks managed resource groups, grouped by VM size and region.
The baseline is the level you're confident of using every month, not the average or peak.
Sizing rules
| Rule | Why |
|---|---|
| Commit to ~the stable floor, not the peak | Unused commitment is lost money |
| Account for optimisation work in progress | Savings from tuning reduce future usage |
| Account for serverless migration | VM reservations lose value as workloads move to serverless |
| Prefer savings plans over specific VM reservations if VM types may change | More flexible across sizes/families |
| Start with a shorter term or smaller amount | Increase once you trust the trend |
Track utilisation
- Monthly: commitment consumed vs purchased.
- Reservation utilisation report in Azure for VM reservations.
- Flag under-use early. Exchange/refund rules for reservations vary; check current terms.
Do optimisation first
Commitments lower the price of waste too. Clean up idle clusters, right-size, move production jobs off all-purpose clusters, then commit to what remains (see the cost optimisation with system tables post).
Caution
Pre-purchase commitments usually can't be cancelled. Get FinOps and finance sign-off with the baseline evidence attached.
Checklist
- DBU and VM baselines measured separately
- Optimisation done before committing
- Serverless roadmap considered
- Commitment sized to the stable floor
- Current pricing and terms checked
- Utilisation tracked monthly