PyConDE & PyData Berlin 2024

µDjango, an asynchronous microservices technique.
04-24, 13:10–13:40 (Europe/Berlin), B07-B08

A standard Django project involves working with multiple files and folders from the start. Let's see how the work with a Django project changes when we have only one file. This solution automatically transforms Django into a microservice-oriented async framework with "batteries included” philosophy.


The history of the lightweight Django project isn't new.
The first time single-py-file Django project paradigm appears in 2014 in book Lightweight Django.
I with Django project consisting of only 2 files in 2015. At that time, the tiny Django project wasn't comparable to the capabilities of projects based on FASTAPI or FLASK.
But a couple of years later, Django introduced ASGI, and in 2022, Django was ready for use in microservices.

The concept of creating micro-projects on Django reappeared within the Django community in 2019 and again in the spring of 2023, and now we have a full-fledged technology for creating asynchronous microservices consisting of one or two files. It was named uDjango.

In this talk, I will share my experience in creating high-performance microservices on Django and how i can keep simplicity and minimalism in projects.

During the talk, I'll discuss the advantages of Django microservices:

  • All-in-one package
  • Standard architecture and syntax
  • Extremely rapid development and deployment speed

After years of work with uDjango paradigm, I have identified the challenges in creating Django microservices:

  • The prevailing opinion that the 'Django framework isn't suitable for microservices'
  • Django settings.py - cause of many problems.
  • URL routing in Django that could be stricter
  • Initialization time of forms and model objects reduces performance

The result of this Talk for the audience will be knowlege about mDjango, a ready-to-use technology for building synchronous and asynchronous microservices.

Talk Based on ideas of:
Julia Elman and Mark Lavin, Lightweight Django 2014.
Will Vincent, django-microframework 2019.
Kirill Klenov, python benchmark repository, 2019.
Carlton Gibson, linked in post about one app Django project, 2022
Paolo Melchiore 2023, uDjango


Expected audience expertise: Domain

Novice

Expected audience expertise: Python

Novice

Abstract as a tweet (X) or toot (Mastodon)

Django - the new trend in creating asynchronous Python microservices.

Public link to supporting material, e.g. videos, Github, etc.

https://bitbucket.org/danilovmy/conferences2024/src/master/pyconde2024/

Python/Django Senior Software Engineer, Solution Architect and Tech Speaker.

I began my career as a programmer specializing in embedded solutions in 1997, and grow to the role of Chief Technology Officer in 2023. Through many successful projects, I gained a robust understanding of various software development paradigms. After more than 10 years as a code mentor, I finally earned the title 'Super Mentor in Engineering' in December 2023.