Building Multi Tenant Applications with Django
latest

Table of Contents:

  • Introduction to multi tenant applications
  • Shared database with shared schema
  • Shared database with isolated schema
  • Isolated database with a shared app server
  • Completely isolated tenants using Docker
  • Tying it all together
  • Third party apps
Building Multi Tenant Applications with Django
  • Docs »
  • Building Multi Tenant Applications with Django
  • Edit on GitHub

Building Multi Tenant Applications with Django¶

_images/book-cover-multi-tenant.jpg

Table of Contents:

  • Introduction to multi tenant applications
    • What are multi tenant apps?
    • The structure of this book
    • The various approached to multi tenancy
  • Shared database with shared schema
    • The base single-tenant app
    • Adding multi tenancy to models
    • Identifying tenants
    • Extracting tenant from request
    • A detour to /etc/hosts
    • Using tenant_from_request in the views
    • Isolating the admin
  • Shared database with isolated schema
    • Limitations of shared schema and our current method
    • What are database schemas?
    • Managing database migrations
    • Tenant separation in views
    • A middleware to set schemas
    • Beyond the request-response cycle
  • Isolated database with a shared app server
    • Multiple database support in Django
    • Database routing in Django
    • Per tenant database routing using middlewares
    • Outside the request response cycle
  • Completely isolated tenants using Docker
    • Tools we will use
    • Building a docker image from our app code
    • Using docker-compose to run multi container, multi-tenant apps
    • The final docker-compose.yaml
  • Tying it all together
    • Launching new tenants
    • A comparison of trade-offs of various methods
    • What method should I use?
  • Third party apps
    • Open source Django multi tenancy apps
    • A tour of django-tenant-schemas

Indices and tables¶

  • Index
  • Module Index
  • Search Page
Next

© Copyright 2018, Agiliq and Contributors Revision 89a482ce.

Built with Sphinx using a theme provided by Read the Docs.