Arquitecturas

Multi-Tenant + Django

SaaS para devs python

Arquitecturas

Multi-Que??

Contexto

Daniel Correa

@danielcb29

SaaS?
Software as a Service?

El Problema...

* Cuantos Deportistas hay en Colombia?

* Como , Cuando y Donde invertir el dinero publico destinado al deporte?

El Problema...

* Como organizar información de diferentes entidades dentro de un mismo sistema?

Ligas, Clubes, Federaciones, Comites, ...

El Problema...

* Como asignar módulos dinámicamente de acuerdo al tipo de entidad?
 

Que hacemos?

Entidades con diferentes necesidades de módulos queriendo capa de presentación personalizada... y todo en un mismo sistema.

Soluciones desesperadas

1. Una app para cada entidad
 

2. Una sola app y mas `if` que una inteligencia artificial (?)

3. Una arquitectura orientada a servicios

SaaS for Live!

Software as a Service

Como implementar SaaS desde todas las capas?

=> Persistencia

=> Logica

                       => Presentación

Persistencia:
Multi Tenant!

1. Misma DB , Mismas Tablas, Diferenciar cada tenant por ID

Persistencia:
Multi Tenant!

2. Misma DB, Diferentes esquemas por entidad, Diferentes tablas para cada entidad

Persistencia:
Multi Tenant!

3. Diferentes DBs , una para cada tenant

Persistencia:
Multi Tenant!

Cual escogimos?

Logica:

Django Tenants

+

Presentación:

Subdominos por entidad

ex: ligavalle.sind.gov.co

Código?

Made with Slides.com