I am developing a Python based application (HTTP -- REST or jsonrpc interface) that will be used in a production automated testing environment. This will connect to a Java client that runs all the test scripts. I.e., no need for human access (except for testing the app itself).
We hope to deploy this on Raspberry Pi's, so I want it to be relatively fast and have a small footprint. It probably won't get an enormous number of requests (at max load, maybe a few per second), but it should be able to run and remain stable over a long time period.
I've settled on Bottle as a framework due to its simplicity (one file). This was a tossup vs Flask. Anybody who thinks Flask might be better, let me know why.
I have been a bit unsure about the stability of Bottle's built-in HTTP server, so I'm evaluating these three options:
- Use Bottle only -- As http server + App
- Use Bottle on top of uwsgi -- Use uwsgi as the HTTP server
- Use Bottle with nginx/uwsgi
Questions:
- If I am not doing anything but Python/uwsgi, is there any reason to add nginx to the mix?
- Would the uwsgi/bottle (or Flask) combination be considered production-ready?
- Is it likely that I will gain anything by using a separate HTTP server from Bottle's built-in one?