PyCon UK 2019

Writing micro-services in Python... Sure! But which framework?
2019-09-15 , Ferrier Hall

When googling "python micro-service framework", there are plenty of "Hello world" examples out there for many (micro-)frameworks.

But how do they scale in the "real" world? How can I connect framework X to a database or what do you need to do to use OAuth2 with framework Y?


This talk was inspired by Aaron Bassett's EuroPython 2018 talk "Hello to the World in 8 Web Frameworks micro, batteries included & async". It was a great introduction to the array of web (micro-)frameworks available in Python but I was curious at how they scale to "real" life use-cases.

In order to learn about that, I went through several steps:
- I decided on 4 micro-services I wanted to build and that were somewhat representative of services you might need in a production setting
- I set some constraints about what I expect from a micro-service as a developer (ie: documentation, testing, etc), as a sysadmin (ie: ease of deployment) and as a product manager (ie: performance)
- I implemented those micro-services using several frameworks
- I deployed them with production settings on a Raspberry Pi cluster
- I tested the performance of each architecture

This talk is an overview of the process, what guided my decisions, the things I learned and what conclusions I reached. Oh and of course performance graphs and statistics ;)

Spoiler: I will not end the talk with "choose framework Z"


Is your proposal suitable for beginners?: yes

Long-time pythonista, Django fan, co-maintainer and co-author of DRF-Schema-Adapter. Recently interested by Python running on different hardware.

I am from Belgium and have been involved in open-source at different levels for a bit more than a decade now.

One of the things I enjoy the most is sharing knowledge with others. And this is why I enjoy writing tutorials as well as giving talks and workshops.

This speaker also appears in: