Inicio ›   Glosario  ›   Multitenencia

Multitenencia

La multitenencia es una arquitectura en la que una única plataforma compartida sirve a múltiples inquilinos independientes —clientes, unidades de negocio o aplicaciones distintas—, con cada inquilino aislado lógicamente de modo que ninguno puede ver ni afectar a otro. Los inquilinos comparten el mismo hardware y software subyacentes, pero cada uno se comporta como si tuviera su propio sistema privado.

La clave es lograr ambas cosas a la vez, de forma segura y eficiente: una sola plataforma que comprar, operar y escalar (en lugar de un silo separado por inquilino), combinada con un aislamiento estricto de los datos, la identidad y el espacio de nombres de cada inquilino. La multitenencia es lo que permite a un proveedor de servicios alojar a cientos de clientes en una infraestructura compartida, o a una empresa separar limpiamente sus departamentos, sin que los datos de nadie se filtren a los de otro.

Qué significa la multitenencia

Un inquilino (tenant) es un conjunto de usuarios y recursos que van juntos y deben permanecer separados de los demás: normalmente un cliente, un departamento o un entorno de aplicación. La multitenencia aísla a cada inquilino en varias dimensiones a la vez:

  • Datos y espacio de nombres. Cada inquilino tiene sus propios buckets y su propio espacio de nombres de objetos. Dos inquilinos pueden incluso usar los mismos nombres de objeto o de bucket sin que colisionen.
  • Identidad y acceso. Cada inquilino tiene sus propias cuentas, usuarios y credenciales; las claves de un inquilino no dan acceso a los datos de otro.
  • Capacidad y rendimiento. Las cuotas y los controles evitan que un inquilino agote el conjunto compartido o prive de rendimiento a los demás (el problema del «vecino ruidoso»).
  • Gestión. El ámbito administrativo está acotado, de modo que el administrador de un inquilino solo gestiona el suyo.

Compartido por debajo, aislado por encima: esa combinación es la característica que define a un sistema multiinquilino.

Multiinquilino frente a inquilino único

La alternativa a la multitenencia es la monotenencia, en la que cada inquilino recibe su propia instancia dedicada de la plataforma.

  • Inquilino único (dedicado). Máximo aislamiento y personalización, y el menor radio de impacto si algo falla, pero con mayor coste, más hardware y más instancias que operar y parchear.
  • Multiinquilino (compartido). Mucha mayor eficiencia y densidad: una plataforma sirve a todos, la capacidad se agrupa y las operaciones se centralizan. A cambio, el aislamiento debe imponerse por software y no por separación física.

La mayoría de los servicios de almacenamiento y nube a gran escala son multiinquilino porque la eficiencia es decisiva; el esfuerzo de ingeniería se dedica entonces a hacer que el aislamiento lógico sea tan fuerte como lo habría sido la separación física.

Cómo se impone el aislamiento

En el almacenamiento de objetos, el aislamiento de inquilinos se basa principalmente en controles de identidad y de espacio de nombres:

  • Cuentas e IAM. Cada inquilino se corresponde con su propia cuenta, con sus propios usuarios, grupos, roles y políticas que rigen exactamente lo que puede hacer cada identidad.
  • Espacios de nombres y credenciales separados. Los buckets y las claves de acceso están acotados al inquilino, de modo que las solicitudes se autentican y autorizan únicamente frente a ese inquilino.
  • Cuotas y QoS. Los límites de capacidad y los controles de tasa contienen el efecto del vecino ruidoso e impiden que un inquilino consuma todo el conjunto.
  • Cifrado por inquilino. Claves separadas —a menudo claves gestionadas por el cliente— garantizan que ni siquiera los medios de almacenamiento compartidos revelen nada utilizable a través de las fronteras entre inquilinos.
  • Red y auditoría. Los endpoints segmentados y el registro por inquilino completan la separación y aportan trazabilidad.

Quién usa la multitenencia y por qué

La multitenencia es la opción predeterminada para quien sirve a muchos consumidores desde una infraestructura compartida:

  • Los proveedores de servicios que ofrecen almacenamiento como servicio o copia de seguridad como servicio alojan a muchos clientes en una sola plataforma, con medición y facturación por inquilino.
  • Las empresas separan departamentos, filiales o proyectos en un único sistema manteniendo distintos los datos y el acceso de cada uno.
  • Los equipos de SaaS y de plataforma dan a cada cliente o entorno una porción aislada de un backend común.

Las ventajas son la eficiencia, la densidad y una operación más sencilla; los riesgos que hay que gestionar son la fuga de datos entre inquilinos, el efecto del vecino ruidoso y un radio de impacto mayor, y para contenerlos existen precisamente los controles de aislamiento anteriores.

La multitenencia y ARTESCA

ARTESCA está diseñado para una multitenencia segura mediante un modelo de IAM compatible con AWS. La documentación de Scality describe este modelo como algo que garantiza «una sólida seguridad y compatibilidad de aplicaciones con multitenencia para ofertas de copia de seguridad como servicio».

En la práctica, cada inquilino se representa mediante sus propias cuentas, con usuarios, grupos, roles y políticas que controlan el acceso; los buckets, los espacios de nombres y las credenciales están acotados por inquilino, de modo que dos inquilinos pueden compartir el mismo conjunto y los mismos endpoints S3 y, aun así, permanecer completamente invisibles entre sí. Las identidades pueden ser locales de ARTESCA o federarse desde un directorio AD/LDAP existente, los roles de administrador delimitan lo que cada administrador puede gestionar y se puede exigir autenticación multifactor. Combinado con claves gestionadas por el cliente por inquilino, esto permite a un proveedor o a una empresa consolidar muchos inquilinos en una sola plataforma sin comprometer el aislamiento ni la soberanía de datos.

Preguntas frecuentes sobre multitenencia

¿Cuál es la diferencia entre multiinquilino e inquilino único?

En un sistema de inquilino único, cada inquilino recibe su propia instancia dedicada. En un sistema multiinquilino, muchos inquilinos comparten una instancia pero están aislados lógicamente. La multitenencia es más eficiente; la monotenencia ofrece la separación física más fuerte.

¿Pueden los inquilinos ver los datos de los demás en un sistema multiinquilino?

No, ese es precisamente el objetivo. El aislamiento de cuentas, espacios de nombres y credenciales hace que cada inquilino solo pueda acceder a sus propios datos, aunque la plataforma subyacente sea compartida.

¿Qué es un «vecino ruidoso»?

Un vecino ruidoso es un inquilino cuyo uso intensivo degrada el rendimiento o consume la capacidad que otros necesitan. Las cuotas y los controles de calidad de servicio existen para contener este efecto.

¿Cómo se aísla a un inquilino en el almacenamiento de objetos?

Principalmente mediante cuentas e IAM: cada inquilino tiene su propia cuenta, usuarios, roles y políticas, además de buckets y credenciales separados y, a menudo, sus propias claves de cifrado.

¿ARTESCA admite la multitenencia?

Sí. ARTESCA ofrece multitenencia segura mediante un modelo de IAM compatible con AWS de cuentas, usuarios, grupos, roles y políticas, diseñado para copia de seguridad como servicio y despliegues multidepartamentales.