3 Comments
User's avatar
Neal Magee's avatar

I'm a big fan of FastAPI, and appreciate you helping tease out the ideal cases for it (and when not to use it). Just a note that we no longer need `uvicorn` to run FastAPI, just use `fastapi run main.py` with all the usual options. Still not the most robust service for running in production, but works for many cases.

Thanks for the article and all your work.

Andres Vourakis's avatar

Thank you for the feedback Neal! I'm reviewing the documentation right now.

In your experience, what makes it "not the most robust service for running in production"?

Neal Magee's avatar

I’m thinking here of a two layered approach with uvicorn or the built-in fastapi ASGI server (who knows, maybe that’s just a built-in version, or imitation of uvicorn/hypercorn), fronted by a reverse proxy like nginx.

The ASGI layer processes the python via workers (which many also forget to specify) then nginx load balances traffic to workers, handles slow/flaky client connections, SSL/TLS termination if needed, compression, etc. so it’s an excellent front door into faatapi when you need it scaled up.

I’ve always meant to thank you for all your writing, you have a regular appreciative reader here!