Multi-tenancy es una arquitectura de software donde una sola instancia de una aplicación sirve a varios clientes (tenants), manteniendo sus datos y configuraciones separados de forma lógica.
#Definición básica
-
En un sistema multi-tenant, varios clientes u organizaciones comparten la misma aplicación y la misma infraestructura subyacente (servidores, base de datos), pero sin poder ver los datos de los demás.
-
Cada cliente se considera un “tenant”, con su propio conjunto de usuarios, datos y configuraciones dentro de esa misma instancia de software.
#Ejemplo típico en SaaS
-
Muchos servicios SaaS (por ejemplo, CRM, herramientas de analítica, etc.) usan multi-tenancy: todos los clientes usan el mismo código y recursos, pero cada uno ve solo su información.
-
Esto permite que el proveedor haga actualizaciones una sola vez y todos los tenants se beneficien automáticamente, sin instalar nada por separado para cada cliente.
#Ventajas principales
-
Eficiencia de recursos: al compartir infraestructura entre muchos clientes se reducen costes de servidores, mantenimiento y operación.
-
Escalabilidad y mantenimiento: es más fácil escalar (añadir más clientes o capacidad) y mantener el sistema porque solo se gestiona una base de código e infraestructura unificada.
#Diferencia con single-tenant
-
En single-tenant, cada cliente tiene su propia instancia de la aplicación y, a veces, su propia base de datos o incluso hardware, totalmente aislados.
-
Multi-tenant comparte la instancia entre clientes con separación lógica; single-tenant ofrece más aislamiento pero a costa de más recursos y mayor coste por cliente.