Building Multi-Tenant applications with Django and Django-Tenants
Jatin Goel (~jatin15) |
Description:
Modern solutions require to be scalable and cater to the needs of different customers by keeping their data segregated. Come explore how we can build scalable solutions with Django and truly make a Multi-Tenant solution, different ways possible to achieve this and how we’ve cracked that tough nut.
- Brief intro about myself
- Traditional systems
- On-Prem
- Isolated deployments for each customer
- Multi-tenancy
- What it is?
- How does it solve the above problem
- Pros and Cons
- Different multi-tenancy approaches
- Django tenants
- How it works
- All the different components of the library
In this workshop we'll go over:
- Setting up a Django project
- Integrating Celery with regular Django project
- Postgres schemas
- Converting the single-tenant project to multi-tenant with Django-Tenants
- Types of Multi-Tenancy
- Creating organisations and domains
- Tenant Schema Router
- Tenant Aware Celery App
- Periodic tasks for each tenant
- Database Routers (Advanced) (if time permits)
By end of this workshop you should've the right information to know whether your app needs to be a MT app and how we manage these multiple tenants
Prerequisites:
- Python 3.11
- Django 4.1
- Docker
- Basic Django knowledge
- Basic knowledge about async / distributed tasks
- Knowledge about django cookiecutter setup, so it's easier to navigate through the project structure
Speaker Links:
https://www.linkedin.com/in/goeljatin/