Databricks Application Scaling Guide: Separating Soft and Hard State to Decide Between Adding Machines or Instances
The Databricks engineering team proposes a four-stage scaling methodology, centered on the argument that application state should be divided into reconstructible soft state and persistent hard state. This allows any instance to recover sessions, making horizontal scaling truly feasible.
Bruno Tafur and Tushar Madan of Databricks published an extension guide for application builders in November 2026, discussing how to maintain fast response times and high availability as a Databricks App grows from a few users to hundreds or thousands. The core judgment of the article is that the intuitive answer 'add more compute resources' is only effective once you know where requests spend their time and whether the application itself is built to scale.
The authors divide the scaling process into four stages: design, build, test deployment, and operations. In the architecture design stage, the most critical decision is dividing application state into two categories. Soft state is temporary working data, such as in-memory context, caches, and ongoing work, which can be rebuilt from hard state if lost; hard state consists of business records, checkpoints, and user preferences, which must be persisted in Lakebase or Unity Catalog tables so that any instance can recover the session. This classification determines whether horizontal scaling is truly feasible—if session state exists only in memory, users will lose their work when instances restart or migrate.
The article provides a specific retailer scenario to demonstrate load estimation: during the busiest hour of Black Friday, 200 out of 2,000 store managers are using an inventory query app simultaneously, with each performing two queries per minute, each executing three SQL statements. The result is 1,200 statements per minute, averaging 20 per second. The authors emphasize that this estimates query rate rather than concurrency; testing needs to validate burst traffic and growth, and database connections should be budgeted separately.