Multi-tenancy

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.