La tenencia múltiple es uno de los componentes de la arquitectura de software que funciona con muchos clientes. Los sistemas que funcionan con dichos elementos se denominan compartidos.
También se usa otro término: multitenencia. Su nombre proviene de la palabra inglesa tenant-inquilino –
El principio de funcionamiento
La multitenencia divide los procesos de los inquilinos en procesos independientes, tanto a nivel de empresa como a nivel de usuarios individuales. Se asigna un entorno separado para el servicio comercial de cada cliente.
A continuación, al servicio se le asigna un identificador único que distribuye información entre los usuarios.
La arquitectura de microservicios de la aplicación asigna a cada proceso de negocio los recursos necesarios para su funcionamiento estable.
En cualquier software multiinquilino, puede controlar sus funciones a nivel de usuario. En otras palabras, se pueden habilitar/deshabilitar propiedades adicionales para cada usuario (o grupo).
Computación en la nube
Clasificación
La tenencia múltiple de aplicaciones se divide en 3 tipos:
- Recursos unificados, almacenamiento de información e instalación. La división en inquilinos se lleva a cabo a nivel de software. La aplicación determina de forma independiente el acceso de los usuarios a los recursos de acuerdo con sus derechos. Este enfoque garantiza un uso equilibrado de los recursos de la empresa y un tiempo mínimo para la administración. Adecuado para clientes que planean crear software multiarrendamiento.
- Un único almacén de datos e instalación, pero compartiendo recursos. La división se lleva a cabo a nivel de infraestructura, cada inquilino cuenta con su propio grupo de recursos de capacidad fija. Esta opción es ideal para organizaciones que tienen su propio centro de datos.
- Separación completa. Cada inquilino tiene sus propios recursos y almacenamiento de información. La instalación del software también es independiente para cada inquilino. Esta opción es adecuada para inquilinos que no planeaban usar múltiples inquilinos, pero necesitan compartir recursos.
Para evitar dificultades o problemas con la tenencia múltiple, es necesario desarrollar una arquitectura en la etapa inicial de creación de software, teniendo en cuenta el uso posterior del intercambio de recursos.