Este documento presenta una discusión sobre las aplicaciones multi-tenant y cómo crearlas. Explica que una aplicación multi-tenant permite que múltiples clientes (tenants) usen la misma aplicación de forma aislada compartiendo recursos subyacentes. Luego discute las opciones de implementación como tener una aplicación y base de datos separadas por tenant o tener una aplicación y base de datos compartidas para múltiples tenants. Finalmente, resume la evolución del modelo de una aplicación desde instancias separadas hasta una arquitectura con una aplicación central y bases de datos separadas por tenant
6. ¿Qué es una aplicación multi-tenant?
“Multi-tenant se refiere a la capacidad del
software de ser utilizado por múltiples entidades
usuario (tenants) de forma que cada tenant opera
de forma aislada, mientras que en realidad, está
usando recursos físicos compartidos. Un tenant
puede ser una organización que utiliza una
aplicación simultáneamente con otros tenants.
También puede ser una aplicación compartiendo
recursos con otras aplicaciones.”
by Yefim V. Natis
VP Distinguished Analyst
8. Single-tenant
•1 subdominio por tenant
•URL’s personalizadas con CNAME*
www.sporting.tenant1.net
www.sporting.tenant2.net
sportingtenant1.azurewebsites.net
sportingtenant2.azurewebsites.net
9. Multi-tenant
•1 subdominio compartido por los tenants
•Misma URL. A través del usuario*
sporting.azurewebsites.net/tenant1
sporting.azurewebsites.net/tenant2
sporting.azurewebsites.net/
11. Aplicación y BD independiente por tenant
• “n” instalaciones
• BD completa para cada tenant
• “>” Coste de
• Infraestructura
• Despliegue
• Administración
• Instancias independientes
• Datos completamente aislados
12. Una aplicación para “n” tenants
• BD compartida
• Escalado
• “>” Coste de…
• Desarrollo
• Administración BD
• Instalación única
• Instancia única
• “<” Coste de…
• Infraestructura
• Despliegue
13. Una aplicación para “n” tenants - evolución
• BD compartida
• “>” Coste de
• Desarrollo
• Administración BD
• Instalación única
• Instancia única
• Escalado casi infinito
• “<” Coste de
• Infraestructura
• Despliegue
14. Una BD para cada tenant
• Instalación e instancia única
• Aislamiento de los datos
• Escalado infinito
• Personalización
• “<” Coste de
• Infraestructura
• Despliegue
• Desarrollo
• BD individual
• “>” Coste de
• Administración BD
Yefim Natis es vicepresidente, distinguido analista y investigador en Gartner Research. El trabajo de Natis se centra en las tendencias clave en la innovación de plataformas: computación basada en eventos y estrategias de microservicios; continuo de la plataforma en la nube a través de IaaS, PaaS y SaaS; ecosistemas de negocios digitales; integración híbrida y plataformas de aplicaciones; y plataformas IoT. El Sr. Natis también investiga los modelos fundamentales de la arquitectura de software, incluidas las arquitecturas orientadas a servicios (EDA) y multigrano orientadas a servicios (SOA).
Canonical name: registro que permite especificar el alias de un nombre de dominio. Muy útil para crear subdominios
CNAME: certificado Wildcard: varios subdomino debajo de un dominio
Con un subdominio solo seria necesaria un certificado SSL por puerto
Con certificados SSL SAN*-
Subject alternative name.
A través del usuario ya que nos interesa controlar el numero de usuarios