I will be working on a Flask Rest API and I don't know where to deploy my Flask app depending on number of the active users.

This is my use case;

My customer has an Oracle DB for their hospital and wants a mobile application to make easier getting appointments for their users. For this purpose I will create a Flask Rest API between their Oracle DB and their mobile app.

Here is some info about the Rest API;

  • will approximately have 10-15 endpoints for CRUD operations.
  • will NOT have a web socket connection.
  • Most of the endpoints are HTTP GET requests.
  • In some of the endpoints API needs to return images through a GET request.
  • At a guess there will be 1500 active users per day (I guess is it going to be less).

My first question is How can I choose a platform to deploy this API? Should I choose a serverless solution like AWS Lambda or should I choose Heroku, Aws Lightsail, EC2 etc.? Let's say I will deploy my app on Lightsail how can I choose the memory, cpu etc. depending on number of users?

My second question is Flask a good option for my use case?

Since this is my first profesional work I've not experienced how to choose a platform to deploy.

  • Talk with the customer to see if they have requirements for how the app is hosted, for example because of medical privacy laws. If they have no preference, you can sell them on the fanciest cloud architecture. Number of daily active users is not so interesting though – you need to think more about the maximum and average rate of requests you want to support. A Flask app with up to 20 requests per second can probably run just fine on a potato, or whatever minimum specs the hosting provider of your choice offers.
    – amon
    Oct 16, 2021 at 11:46


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.