Glosario Técnico

Arquitectura multi-tenant

Definición: Patron de arquitectura SaaS donde una unica instancia de la aplicacion sirve a multiples clientes (tenants) con aislamiento de datos y configuracion independiente.

— Fuente: NERVICO, Consultoría de Desarrollo de Producto

Que es la arquitectura multi-tenant

La arquitectura multi-tenant (multi-inquilino) es un patron de diseno de software en el que una unica instancia de la aplicacion sirve a multiples clientes u organizaciones, llamados tenants. Cada tenant comparte la misma infraestructura y codigo base, pero sus datos estan aislados y su experiencia puede estar personalizada. Es el modelo dominante en aplicaciones SaaS, donde mantener una instancia separada por cliente seria economicamente inviable.

Como funciona

El aislamiento de datos entre tenants se implementa de tres formas principales. En el modelo de base de datos compartida, todos los tenants comparten las mismas tablas con una columna tenant_id que filtra los datos. En el modelo de esquema por tenant, cada cliente tiene su propio esquema dentro de la misma base de datos. En el modelo de base de datos por tenant, cada cliente tiene una base de datos independiente. La eleccion depende del nivel de aislamiento requerido, el numero de tenants y los requisitos regulatorios. La aplicacion resuelve el tenant activo a partir del subdominio, token de autenticacion o cabecera HTTP.

Por que importa

Multi-tenancy permite que un producto SaaS escale a miles de clientes sin multiplicar los costes de infraestructura proporcionalmente. Un unico equipo de operaciones mantiene una sola instancia en lugar de cientos. Las actualizaciones se despliegan una vez y todos los tenants reciben la nueva version simultaneamente. Sin embargo, requiere un diseno cuidadoso para evitar fugas de datos entre tenants y garantizar que un tenant con alto consumo no degrade el servicio de los demas.

Ejemplo practico

Una plataforma de gestion de proyectos SaaS sirve a 2.000 empresas clientes. Usa el modelo de base de datos compartida con columna tenant_id en cada tabla. Cada peticion HTTP incluye un token JWT que identifica al tenant, y un middleware inyecta automaticamente el filtro tenant_id en todas las consultas. Un tenant grande con 50.000 usuarios no puede acceder a los datos de un tenant pequeno con 10 usuarios, y ambos comparten la misma infraestructura con costes operativos 80% inferiores a tener instancias dedicadas.

Terminos relacionados

¿Necesitas ayuda con desarrollo de producto?

Te ayudamos a acelerar tu desarrollo con tecnología puntera y mejores prácticas.