logo logo blanco
  • ESP
  • /
  • ENG
  • /
  • PT
flecha

Volver

Arquitectura Multi Tenancy

blog

Uno de los errores básicos que se suele dar en nuestra sociedad es hablar de cosas que, en la mayoría de las ocasiones, no sabemos qué son o simplemente no sabemos definir. Una práctica errónea pero que todos, en algún momento u otro, lamentablemente cometemos. Y es que esto mismo ocurre cuando hablamos del término multi-tenancy. Una palabra que, a menos que seas ingeniero de software, raramente conocerás. Pero, ¿Qué significa?

Multi-tenancy es una arquitectura de software que permite a una aplicación albergar a múltiples clientes. Una definición técnica que explica que diferentes usuarios pueden trabajar sobre el mismo software en el mismo servidor, pero con la peculiaridad que los datos que podrán ver cada uno de ellos serán diferentes entre sí. De este modo, con la misma arquitectura, tendríamos aplicaciones exclusivas para cada cliente.

En el modelo de negocio de SaaS (Software as a Service), a estos clientes se les denomina tenant. Estos tenants o inquilinos tendrán la capacidad de personalizar algunas partes de la aplicación, como el color de la interfaz de usuario (UI) o las reglas de negocio, pero no podrán modificar el código de la aplicación.

Este tipo de arquitecturas suelen ser el escenario común en el que se mueven las empresas denominadas como Vendedoras Independientes de Software (ISV). Aunque estos tenants también podemos verlos enmarcados en un escenario de nube, privada o pública, donde se ofrecen múltiples aplicaciones en un entorno común.

Pero, como dijo el físico alemán Albert Einstein: “Si no lo puedes explicar de forma sencilla, es que no lo has entendido bien”. Y es que, para entenderlo mejor, vamos a ver a este sistema multi-tenancy como si de bloque de apartamentos se tratase. En este caso, los inquilinos usarán y disfrutarán de todo el edificio: su infraestructura, las zonas comunes, el ascensor… Pero, a pesar de poder disfrutar de las mismas zonas, no viven en el mismo lugar, ya que cada uno tiene su propio piso. Y es precisamente en este piso donde cada cliente guarda todo aquello que no quiere que toquen los demás habitantes del bloque.

En otras palabras, este multi-tenancy es un sistema que se comparte entre clientes, pero que funciona de forma flexible entre sí, como si fuese único para usuario. Además, en este tipo de sistema se pueden utilizar lenguajes de programación como mongo, angular o node.

Single tenant vs. Multi-tenant. ¿Cuál es la diferencia?

Un inquilino único es una instancia del software que suele dar soporte a una sola organización. Con la tenencia única, cada organización tiene sus configuraciones y sus datos aislados. En este caso, los Proveedores de Servicios de Seguridad Administrados (MSSP) que ejecutan aplicaciones que sólo admiten el tenancy único se encuentran en una situación desfavorable debido a los siguientes inconvenientes potenciales:​​​​​​​Por su parte, el multi-tenancy se antoja como un sistema mucho más fácil y rentable para los proveedores de alojamiento que los MSSP y los Centros de Operaciones de Seguridad (SOC), ya que aglutina en la misma instancia el mismo software usado por muchas organizaciones diferentes. Hecho que ahorra costes y, sobre todo, esfuerzos de implementación.

Importancia de la multipropiedad

El concepto de multipropiedad es una palabra íntimamente ligada con el tema que nos ocupa hoy. Un término que nos permitirá beneficiarnos del entorno que engloba la nube pública. Lugar donde están alojados los datos de todo el mundo, clientes, proveedores, socios y recursos mundiales.

Así, esta multipropiedad ofrece un acceso a la nube de calidad y consistente para todos a un precio asequible. Es la forma perfecta de igualar el mercado y las condiciones empresariales, logrando que una pequeña empresa pueda competir mejor contra una megacorporación monolítica.

Por ejemplo, en una nube pública multi-tenancy, los mismos servidores se utilizarán como un alojamiento para albergar a varios usuarios, teniendo cada usuario un espacio separado y seguro dentro de esos servidores para almacenar datos.

Cuando el anfitrión de la nube introduce nuevas funcionalidades, características e innovaciones, todos los usuarios de ese software se podrán beneficiar de estas mejoras. Además, es necesario apuntar que, en muchos casos, las necesidades de unos pocos clientes en un sitio multi-tenant son las que finalmente estimulan el desarrollo de nuevas características globales. Es decir, a la larga, todos los integrantes de esta arquitectura acaban mejorando. Pero, sin embargo, en los modelos de tenencia única no te podrás beneficiar de este tipo de cambios, ya que cualquier mejora sólo sirve para un cliente.

Como podréis imaginar, este multi-tenant se ha convertido en un estándar importante que ha contribuido a la escalabilidad de las nubes públicas y privadas. Además, la arquitectura multi-tenant también puede ayudar a proporcionar un mejor retorno de la inversión en las organizaciones, así como a acelerar el ritmo de mantenimiento y las actualizaciones para los tenants.

Ventajas y desventajas del Multi-tenancy

Hay una serie de ventajas y desventajas que conlleva ser un proveedor de alojamiento e inquilino multi-tenancy: