Un Vistazo al Multitenant: Qué es y cómo se soporta en Plataforma

ES

Introducción

Multitenant es un principio de arquitectura software en la cual una sola instancia de la aplicación es capaz de servir a múltiples clientes u organizaciones (tenant o instancia).

Este modelo se diferencia de las arquitecturas con múltiples instancias donde cada organización o cliente tiene su propia instancia instalada de la aplicación ya que en una arquitectura multitenant la aplicación puede particionar virtualmente sus datos y su configuración para que cada cliente tenga una instancia virtual adaptada a sus requerimientos.


Con el modelo SaaS este modelo de arquitectura es cada ve más importante porque nos permite optimizar recursos.

Cada cliente del servicio es considerado como un tenant, esto permite que se pueda personalizar elementos de la aplicación, como son colores de la interfaz, pero no se personaliza el código como tal.

Algo importante en esta arquitectura es que un cliente no necesariamente es un usuario único, puede ser un grupo de usuarios.

Ventajas y desventajas de un multitenant

Ventajas.

  • Reducción en costes de infraestructura y mantenimiento ya que los costes son distribuidos entre todos los clientes.

  • Fácil actualización, ya que 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.

Desventajas

  • Dificulta el desarrollo de características específicas para un cliente.

  • Único punto de error: si la aplicación tiene un error o falla, fallará para todos los clientes.

Soporte Multitenant en Plataforma

La funcionalidad Multitenant en Plataforma se soporta sobre 2 conceptos:

  • Vertical: representa un producto y proyecto concreto. Supongamos el despliegue de Plataforma sobre una organización que ofrece productos en modo SaaS, en ese caso podríamos tener diferentes verticales desplegados sobre una instancia, por ejemplo Vertical Smart Home, Vertical Waste Management,…

  • Tenant: representa a un cliente a la que la organización sirve sus productos, por ejemplo podríamos ofrecer la solución Smart Home a Carrefour, Leroy Merlin,…

Con el soporte de Onesait Platform con una sola instancia de plataforma podríamos servir a varios verticales y tenants.

Las capacidades de plataforma en cuanto al modo multitenant se reflejan así:

  • Cada Vertical tiene su propia ConfigDB, o dicho de otra forma, cada Vertical puede crear sus propios conceptos de plataforma de forma independiente al resto, esto es sus ontologías, APIs, DataFlows, microservicios, dashboards,…

  • Cada Tenant tiene su propia RealTimeDB: de modo que los datos de cada tenant se almacenan de forma independiente y no se mezclan.

  • Los usuarios son generales a toda la instancia de plataforma y se pueden asociar a vertiales y tenants.

Todo esto es transparente para el usuario, es decir, apenas cambia la usabilidad de plataforma, solo hay que tener en cuenta un par de puntos que comentaremos más adelante.

 

 



(c) 2020 Indra Soluciones Tecnologías de la Información, S.L.U.