Multi-Tenancy: ¿Qué es y cuáles son sus ventajas?

Multi-Tenancy: ¿Qué es y cuáles son sus ventajas?
Photo by Christina @ wocintechchat.com / Unsplash

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.


La transformación que ha traido consigo la nube desde su aparición, cambió para siempre la forma en que consumimos software, pasando de tener que instalar una aplicación en nuestro equipo a simplemente acceder a un sitio web para tener acceso a toda nuestra información, pero la pregunta clave aquí es, ¿cómo es que una aplicación que vive en la nube, puede albergar múltiples clientes y al mismo tiempo mantener tanta información? La respuesta: Multi-Tenancy.

Multi-Tenancy es un principio de arquitectura de software que se basa en el hecho de que una aplicación pueda albergar a múltiples clientes, de esta forma, todos trabajan sobre la misma instancia de software que se ejecuta en el mismo servidor, con la única diferencia de que los datos que puede ver cada cliente son diferentes, logrando un efecto en el que la aplicación se pueda visualizar como si fuera construida exclusivamente para cada uno de ellos. Un ejemplo claro de esto es gmail.

Miles de personas (al igual que tu, probablemente) tienen una cuenta de correo en esta aplicación, sin embargo, cuando ingresamos a nuestros correos solo podemos ver nuestra información a pesar de que existen millones de correos electrónicos en toda la plataforma. De igual manera, podemos personalizar la forma en que se visualiza la página, ya que tenemos la posibilidad de cambiar la forma en que organizamos los correos, las carpetas, colores, etc. Multi-Tenancy hace posible que existan muchas de las aplicaciones que hoy conocemos como SaaS (Software as a Service), en la cual pagamos (o no) una renta mensual para utilizar, como puede ser el mismo Gmail, Trello, Netflix, YouTube, Salesforce, Twitter, Facebook, etc.

Google Gmail inbox | If using photo in a business related blog/ article , I would be very appreciative if you would please credit in the caption or meta to "www.krstojevtic.com"
Photo by Krsto Jevtic / Unsplash

En pocas palabras, 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.

Ventajas de la arquitectura Multi-Tenancy

La arquitectura Multi-Tenancy cuenta con muchas ventajas entre las cuales detacamos las siguientes:

  • Economía en desarrollo y mantenimiento, ya que los costos son distribuidos entre todos los clientes.
  • Fácil actualización, ya que únicamente es necesario actualizar una sola instancia.
  • Seguridad de la información de cada cliente, ya que cuenta con un schema separado para cada uno.
  • Optimiza el uso de recursos de los servidores.

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.

Con el aumento en los últimos años de las aplicaciones SaaS, surge la necesidad de entender cómo funcionan este tipo de servicios y la diferencia entre las distintas arquitecuras de software que existen para estos desarrollos. Para conocer mas a profundidad todo lo relacionado con la industria del desarrollo de software, suscribete a nuestro blog.


Si te gustó este artículo suscribete a nuestro blog.

Recuerda que puedes encontrarnos en Instagram, Facebook y Twitter como @esauriook

En LinkedIn como e·Saurio