Flask or FastAPI? Sql or NoSql? Pydantic or Marshmallow? Docker or K8s?
Building a webapp is like coming up with a new recipe: you have many ingredients available, some add sweetness, some add sourness. Not all of them taste good together!
Above all, de gustibus non disputandum!
Writing your first webapp, the paradox of choice can overwhelm you. You need to choose among several (micro)frameworks, choose how you persist data, how you deploy your app, etc.
Here are my personal gourmand views to those and other choices related to the development and deployment in production of small to mid-size web applications.
This talk wants to be somewhat of a tasting session for all the different ingredients I tasted over the past two years, a talk I wish I had received two years back to make more informed decisions myself. As such, the core of the talk will consist of comparing what I liked and disliked of two projects I worked on: one based on Flask + Postgres (Sqlalchemy) + Marshmallow-sqlalchemy + static files, the other based on FastAPI + Mongodb (Motor) + S3 (Boto3) + Pydantic. I will review the differences of these choices, both technical and related to documentation and community.
Of course, this talk does not aim to provide answers, but merely give the audience a very blurry map to an extremely diverse environment where each one can build his own personal taste.
EDIT 2022-06-10: You can find a summary and an edited versions of the slides used during the talk at the following link