Consider AWS services to deploy Streamlit application

I’m searching for some beneficial advices from the Streamlit community on the best way to deploy my Streamlit application on AWS. The app is a chatbot that interacts with Amazon Bedrock Knowledge Base.

I’m considering the following AWS services for deployment:

** App Runner**
** AWS Fargate**
** Elastic Beanstalk**
** EC2**

When choosing a deployment option, I’m considering the following factors:

  1. Auto scalability
  2. Request and response time
  3. Support for concurrent 1000 users
  4. Reliability

Here’s an overview of my application:strong text

  • It consists of several Python files:
    • app.py: Renders Streamlit user components like chatbot message controls and select boxes.
    • bedrock_kb.py: Interacts with Amazon Bedrock service using boto3 and AWS Glue connection with awswrangler.postgresql.
    • util.py: Utility file.
    • login_ui.py: Handles Azure AD SSO using the Microsoft Authentication Library (MSAL) for Python.
    • .streamlit/secrets.toml: Stores credentials for Azure AD SSO.
    • env: Stores other configuration settings.

Can anyone recommend the most appropriate, simplest, and cost-effective way to deploy my Streamlit application on AWS, considering these factors and the specific requirements of my app?

Thanks in advance for your advice!
Pongthorn Sangka

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.