3 ms·
Over 14 years or so I’ve developed major applications with flask, bottle, Falcon, FastAPI, Django, Sanic and Starlette. My preferred back end web server is now
by andrewstuart 3y ago
Over 14 years or so I’ve developed major applications with flask, bottle, Falcon, FastAPI, Django, Sanic and Starlette.
My preferred back end web server is now nodejs with typescript and plain old Postgres SQL queries, no ORM. Caddy web server with auth sub requests.
- v3ss0n 3y agoTraefik would be much better proxy if you are using container based dev. Also Please give litestar a try.
- andrewstuart 3y agoI’m not a fan of the complexity of containers or kubernetes. Everything I’ve built scales vertically on bare OS very nicely. Regarding litestar, if I wanted to do Python web development I’d use Starlette, which I really liked, but I’ll probably stick with nodejs and typescript from here for web applications.
- btreecat 3y agoGreat, so we just gotta "ship your bare OS" to prod. That's exactly what a container is for. Container is just a logical isolation tool that works at the distribution/deployment level.
- v3ss0n 3y ago> Great, so we just gotta "ship your bare OS" to prod. Back in 2008 , We ship by DDing the whole disk :D
- andrewstuart 3y agoWhat’s wrong with shipping source code? Containers add huge complexity, for what?
- braza 3y agoI think complexity can have multiple interpretations, especially in a fragmented discipline as software engineering. However, at least for me containers solves 3 main source of problems to shipping code in a current software environment: (1) somewhat consistency around runtime environment between production, development and homologation (2) a portable way to deliver software (just create the image) and (3) packaging between source code and runtime. I started my career at the late-2000s and at least in my experience the code itself was the least of issues because we needed to develop something in a environment to be delivered at a runtime in another, transfer the files via FTP or replace files with _.old and making sure that it would work in all places.
- v3ss0n 3y agoK8s is complicated , but Docker (docker compose) solves a lot of problems especially when you are working with a team. Just 5-10 lines of YAML code in your docker-compose.yaml file and it gives you an local infrastructure of db , redis , node , python , nginx and many other things. Then you can share with anyone in your team , and it works on their machine too. Don't afraid of time saving tech. We had use nodejs/ts , but nothing meets DX of python , or Python + MyPy yet, and ecosystem is unmatched.