Skip to content
Cloud Efficiency Hub

On-Demand-Only Configuration for Non-Production Databricks Clusters

The short version

In non-production environments - such as development, testing, and experimentation-many teams default to on-demand nodes out of habit or caution.

Benjamin van der Maas

Manager, Cloud FinOps @ Johnson & Johnson

Databricks service
Databricks Clusters
Category
Compute
Reference
CER-0098
Type
Suboptimal Pricing Model

Explanation

Why the waste happens and who it affects.

However, Databricks offers built-in support for using spot instances safely. Its job scheduler and cluster management system are designed to detect spot instance evictions and automatically replace them with on-demand nodes when necessary, making the use of spot compute relatively low-risk.

Failing to enable spot for non-critical or short-lived workloads leads to unnecessary overspend. The inefficiency often arises because spot usage is not enabled by default and must be explicitly selected in cluster settings. In teams that don't revisit infrastructure defaults or where FinOps guardrails are missing, this results in a persistent cost gap between actual usage and what could be safely optimized.

Billing model

The pricing dimensions that drive this cost.

Databricks clusters incur two charges: DBUs billed by Databricks, and the underlying cloud provider virtual machines used for driver and worker nodes. When on-demand instances are selected, VM charges are based on standard cloud provider rates. If spot instances are enabled (where available), the VM portion can be significantly lower (AWS advertises up to 90% off On-Demand prices), but the spot discount does not apply to DBU charges, so total cluster savings are smaller. Databricks includes native failover capabilities that automatically replace preempted spot nodes with on-demand nodes to maintain job continuity, minimizing the impact of eviction risk.

How to detect

5 checks to find it in your estate.

  • Identify Databricks clusters that are not configured to use spot instances
  • Filter for non-production environments (e.g., dev, test, staging) where eviction risk is acceptable
  • Review the duration and criticality of jobs; short-lived or interruptible workloads are ideal candidates
  • Check compute configurations and compute policies for spot availability settings (for example, SPOT_WITH_FALLBACK and first_on_demand on AWS)
  • Evaluate whether cost differences between current on-demand usage and spot alternatives are material

How to fix

4 ways to remove the waste.

  • Enable spot instance usage for non-production clusters where workloads are resilient to interruption
  • Leverage Databricks' native fallback-to-on-demand capabilities to preserve job continuity
  • Establish workspace-level defaults or templates that promote spot usage in dev/test clusters
  • Periodically audit compute configurations to detect persistent on-demand usage in non-critical environments

Documentation

Vendor references for pricing and configuration.

  • https://docs.databricks.com/clusters/configure.htmlReference
  • https://docs.databricks.com/clusters/instance-pools.htmlReference
  • https://docs.databricks.com/clusters/clusters-manage.htmlReference