Having used Streamlit for a while, I’m absolutely impressed with the functionalities Streamlit provides, however, one question that has bugged me always is that ‘Can you really build an end-to-end application with Streamlit which will have, say,1000 users daily?’
I’m absolutely a novice when it comes to deployment procedures but in my little knowledge about Working systems I have, is it realistically possible to build a ‘something’ with Streamlit, if lets say we use more generous resources/services when it comes to Databases and Cloud. (Not thinking about Streamlit Cloud here, oviously) ?
Any opinions on the same are welcome. Have you guys built something similar? I’m all ears.
I have had pretty good success with scaling up a Streamlit application for a larger user base. The method I am using is to deploy the application in a container and put that behind a load balancer to scale the number of containers up or down based on usage. I haven’t seen any issues with scaling it up assuming you implement all your additional services like databases, user authentication, etc, to also support the larger user base.
That’s interesting. What tyoe of load balancer do you set up though? Something like sticky sessions so that the same user session always go to the same container?
I mean, at least the session_state must be kept be tweet two requests from the same user session, so all those requests from a same user must land in the same container behind the load balancer. That rules out a round Robin load balancer for example, am I right?
Have you written more about your set up or do you know if there’s any information available anywhere in that regard?
Hi @ayanatherate I believe I can address your question. Pls have a read of my post on this topic below and vote on the items you most want to hear about.
Hi @Alexandre_Dumont if you’re interested, have a read of my post below and vote on the topics of interest. I will talk about these issues in our production deployment
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.