Domino applications
The following guidelines apply to all Domino Apps, regardless of framework:- Apps run until you explicitly stop them. If your app isn’t used anymore, stop it to minimize your compute spend.
- Unlike a job or a workspace, Domino Apps never commit (or sync) file changes from the local disk to the Domino project’s file store. To persist data, your app’s logic must write it to an external data source.
- The performance of your app depends on the design of the application.
Flask and Dash (Python)
By default, Flask and Dash run single-threaded on a single process. The authors of Flask do not recommend this configuration if you are going to serve more than 10 users concurrently, or for any externally consumed applications. The Flask documentation provides many ways to serve the application in a more scalable way. For example, you can serve a Flask application through gunicorn. To do this in Domino, change the project’s app file. See Gunicorn commands for details. You can change:8888 is no longer required.
The performance and scalability of your App depend on the compute demands of your application, and the compute resources available on the host machine. If there is a command in your application that uses 100 MB RAM and 20% of a standard VM CPU, then an executor host machine with 1 core and 1 GB RAM could handle 5 concurrent users running that command without suffering reduced performance. A sixth user attempting to run the command would cause the App’s performance to suffer. There would be RAM available, but not enough CPU cycles.