Arquitecturas multi-tenant
Por: Staff Alestra

¿Qué son, de qué se tratan y cómo funcionan? Aprende más de las arquitecturas multi-tenant.

Empecemos por saber qué es la arquitectura multi-tenant (multi-propietario). Es en la que una sola instancia de una aplicación de software sirve para múltiples clientes. Cada cliente se llama a un tenant o inquilino. Los inquilinos pueden tener la posibilidad de personalizar algunas partes de la aplicación, como el color de la interfaz de usuario (UI) o reglas de negocio, pero no pueden modificar el código de la aplicación.
Este tipo de arquitecturas puede llegar a ser económica, ya que los costos de desarrollo y mantenimiento de software son compartidos. Se puede contrastar con las arquitecturas single-tenant, en las que cada cliente tiene su propia instancia de software y se puede dar acceso al código o a funciones o preferencias avanzadas.

Con una arquitectura multi-tenant, el proveedor sólo tiene que hacer cambios una vez. Con una arquitectura single-tenant el proveedor tiene que generar distintas instancias del software con el fin de realizar actualizaciones.

Éstas son cada vez más utilizadas entre los proveedores de SaaS (Software as a Service). En estas arquitecturas todos los clientes y sus usuarios utilizan el servicio desde la misma aplicación, en donde se comparten todos los componentes tecnológicos que incluyen la aplicación, el modelo de datos, servidores y las capas de base de datos, el sistema de almacenamiento, entre otros.

Este tipo de arquitecturas se denominan multi-tenant, ya que sobre un único recurso operan múltiples usuarios que son dueños, por así decirlo, del mismo.

Con ésta, una aplicación de software está diseñada para que realice particiones de sus datos y la configuración, de manera que cada cliente trabaja con una instancia de la aplicación virtual personalizada sin tocar la configuración base o el código de la aplicación.

Este tipo de arquitecturas ha resultado ser muy estable, ya que los cambios que se realizan son tomados con cuidado y el permiso del usuario para realizar cambios avanzados es muy limitado.

En esta arquitectura, los datos de cada cliente se almacenan en bases de datos separadas. Las bases de datos pueden estar en el mismo servidor o pueden ser divididas a través de servidores de bases de datos múltiples. Así de la misma manera puede haber bases de datos, es arquitectura multi-tenant.

Un punto a considerar ya para elegir un SaaS en multi-tenant, sería el grado exacto de multi-tenant. Como comúnmente se define, éste se basa en la cantidad de la aplicación principal o de la capa ha sido diseñada para ser compartida a través de los tenants o inquilinos. Entre más alto sea el grado de multi-tenant, se permitirá que el esquema de base de datos compartido sea compatible con la personalización de las capas de lógicas del negocio, flujo de trabajo y la interfaz de usuario. En otras palabras, todas las sub-capas ofrecerán multi-tenant en este grado.

Grado más alto: IaaS y PaaS son multi-tenant. SaaS lo es también.

De grado medio: IaaS y PaaS son multi-tenant. Pequeños clusters de SaaS también.

Más bajo de grado: IaaS y PaaS son multi-tenant. SaaS es single-tenant.

Actualidad