Qué es Multi-Tenancy

¿Qué sistema de gestión necesita su empresa?

Multi-Tenancy es una de esas palabras que casi todo el mundo ha oído, pero que nadie define de la misma manera; de hecho, a no ser que seas ingeniero de software, no es imprescindible saber su significado exacto. Sin embargo, si debes decidir por una propuesta de software, especialmente si es software como servicio (SaaS) no viene nada mal tener un cierto grado de conocimiento del término.

Multi-Tenancy es un grupo de usuarios que comparten el uso de una sola aplicación ya sea desde el acceso a los datos, la configuración, la gestión de usuario, las propiedades funcionales y no funcionales. Dicho de otra forma es un sistema compartido entre varios clientes, pero que funciona de manera flexible y opera como si fuera exclusivo de uno solo. En el modelo SaaS, al cliente se lo llama inquilino.

Multi – Tenancy

Se refiere a un principio de arquitectura de software, donde un sistema comparte varios clientes, es decir que trabaja sobre una misma instancia de software, la cual se ejecuta desde un servidor, a este tipo de arquitectura se la llama arquitectura multi propietario o multiusuario.

Otra forma de conceptualizar Multi– Tenancy se refiere a la habilidad para ubicar varios clientes dentro de una única instancia del software que se ejecuta en un servidor. En un entorno Multi-Tenant, todos los clientes y sus usuarios consumen el servicio desde la misma plataforma tecnológica, desde el modelo de datos, servidores y las capas de base de datos.

Con una arquitectura Multi-Tenancy, una aplicación de software está diseñada para particionar sus datos y la configuración de manera que cada cliente trabaje con una instancia de la aplicación virtual personalizada.

Multi-Tenancy (Multiusuario) hace referencia al modo de operación del software en varias instancias independientes de uno o múltiples aplicaciones las cuales están operando en un entorno compartido. Los casos (Tenancy) están aislados lógicamente, pero físicamente integradas.

En la figura 1 se puede apreciar la diferencia entre Tenancy y Multi-Tenancy.

Figura 1 - Diferencias
Figura 1 – Diferencias

Las arquitecturas Multi-Tenant (multi propietario) son cada vez más utilizadas entre los proveedores de SaaS (Software as a Service), considerándose fundamentales para Cloud Computing.

Tres aspectos claves de las aplicaciones Multi-Tenancy

Para lograr una distribución de aplicaciones Multi-Tenant hay que centrarse en tres aspectos fundamentales

1. El mecanismo para la distribución de recursos

Tiene como finalidad reducir costos de hardware, de software y de la administración de cada Tenant.

2. El mecanismo de aislamiento de seguridad

Tiene como finalidad evitar posibles accesos no válidos, conflictos e interferencias entre los Tenants.

3. El mecanismo de personalización

Su finalidad es dar soporte al modelo de UI (Interfaz de Usuario) por Tenant, de control de acceso, de proceso y de datos a través de los enfoques de configuración.

Cuatro pilares de la arquitectura Multi-Tenancy

1. Disponibilidad

Al ser una arquitectura compartida, se debe proporcionar redundancia integrada de forma que los recursos necesarios de informática, red y almacenamiento sigan estando disponibles en cualquier momento; ya que un posible fallo podría afectar a muchos clientes a los que se ofrece estos servicios.

2. Separación segura

Al ser una arquitectura compartida, se debe tomar en cuenta el aislamiento de los usuarios y la seguridad en el almacenamiento de la información.

3. Garantía de servicios

De igual manera se debe aislar y garantizar el rendimiento del equipo, de la red y del almacenamiento en cualquier momento ya sea durante el funcionamiento normal, cuando se produzcan fallos o cuando determinados servicios generan problemas.

4. Gestión

La capacidad de administrar, gestionar y supervisar rápidamente todos los recursos de forma íntegra, brindándoles a los clientes poder acceder a la gestión de sus servicios de manera inmediata y transparente.

cloud computing

Proveedores de cloud computing con multi-tenancy

En el presente artículo se indicarán los puntos clave para la selección de aplicaciones de negocio SaaS con Multi-Tenancy. Para ello la aplicación SaaS debe cumplir con:

  • Poder ser compartida por diferentes clientes.
  • Ser capaz de adaptarse y evolucionar con los diferentes requerimientos de cada cliente.
  • Y al mismo tiempo ser viable, técnica y económicamente, para el proveedor.

La pregunta que todo empresario debe hacerse ¿Cómo se puede verificar que la aplicación de nuestro proveedor es Multi-Tenancy?

  1. Todos los clientes deberían correr la misma versión del código, sin “customizaciones” de código.
  2. Los clientes no deberían preocuparse de tener que actualizar el software, para ellos debería ser transparente. Para ser más terminante: no debe ni enterarse.
  3. No debería haber versiones en el sentido tradicional sino frecuentes mejoras incrementales (un ejemplo serían las aplicaciones de Google).
  4. De alguna forma la arquitectura True SaaS debe poder distinguir entre cada cliente.

Conclusiones

La elección del proveedor adecuado depende estrictamente del tipo de aplicación que el cliente desea implementar, ya que cada uno de estos ofrece un servicio orientado a los diferentes paradigmas existentes en las tecnologías Cloud Computing.

Cuando evalúes una aplicación SaaS, la pregunta correcta no es si es o no Multi-Tenancy, sino en qué grado lo es en relación al conjunto de aplicaciones evaluadas.

Fuente: INNOVA Research Journal 2017, Vol 2, No. 2, 72-83

Adaptado por la División Consultoría de EvaluandoCloud.com

¿Qué sistema de gestión necesita su empresa?