Practically, how many users can Dash apps concurrently serve, and what is approach to be taken?

A bit of background: I am fairly new to web development. Though I have some exposure to Flask / Django, I don’t have a lot experience building production level web applications. I come from a strong data analytics background, and have been using Plotly on Jupyter Notebooks for quite sometime. I recently discovered Dash (upon suggestion of a colleague at work), as my team is planning to build a medium-scale dashboard. I already like the framework a LOT!

Regarding the dashboard: The final dataframe feeding the dashboard won’t not huge (less 5 MB probably), and there won’t be any huge calculations as well. However, our major requirement is visualizations, and we will having at least 20 different charts and tables with filters. The dashboard is expected to serve around 150 users concurrently, and 800 users in extreme peak cases (usually when we present during events).

As I couldn’t find a perfect answer, I am starting this thread. I have two questions,

  1. Practically, from all that is available (features of Dash and hosting with Kubernetes), is it possible to build a web app that can serve around 150 users concurrently on a regular basis?
  2. Based on that, please share any suggestions/things to keep in mind while building such as dashboard. These can from using certain features of Dash to architecture, and hosting services etc.

Thanks in advance.

1 Like