Tenencia múltiple

principio de arquitectura de software en la cual una sola instancia de la aplicación se ejecuta en el servidor, pero sirviendo a múltiples clientes u organizaciones (tenedor o instancia)

Tenencia múltiple o multitenencia en informática corresponde a un principio de arquitectura de software en la cual una sola instancia de la aplicación se ejecuta en el servidor, pero sirviendo a múltiples clientes u organizaciones (tenedor 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. Con una arquitectura de tenencia múltiple, la aplicación puede particionar virtualmente sus datos y su configuración para que cada cliente tenga una instancia virtual adaptada a sus requerimientos. Algunos expertos consideran la tenencia múltiple como un factor decisivo del paradigma de computación en la nube.[1][2]

Ventajas

editar

Una arquitectura de tenencia múltiple permite intercambiar y compartir los recursos y los costos al momento de la ejecución de la aplicación. En este sentido, esta arquitectura puede ser vista como una alternativa a la virtualización. Adicionalmente, en vez de recolectar los datos desde múltiples fuentes utilizando probablemente diferentes esquemas de bases de datos, toda la información de los clientes es almacenada en un esquema común y único. Por lo tanto, la ejecución de peticiones a la base de datos sobre los clientes para completar tareas de p. ej. minería de datos, análisis de evolución y predicción, son mucho más simples de realizar.

Desventajas

editar

La implementación de este tipo de arquitecturas es más compleja, ya que hay más alternativas de configuración a tener en cuenta y la gestión de los datos puede complicarse. La seguridad de los datos es esencial con el fin de que los usuarios de una instancia no puedan acceder a los datos de otra instancia. Por otra parte, los costos de rediseñar aplicaciones para soportar tenencia múltiple son significativos, especialmente con empresas que continúan ofreciendo aplicaciones independientes para cada cliente con una versión particular de su producto. Esto puede forzar el mantenimiento y soporte de dos productos distintos con todos sus inconvenientes asociados.

Referencias

editar
  1. Wayneright, Phil (30 de septiembre de 2010). «Defining the true meaning of cloud» (html). ZDNet (en inglés). Archivado desde el original el 23 de diciembre de 2014. Consultado el 2 de julio de 2019. «Multi-tenancy. Sharing a single, pooled, operational instance of the entire top-to-bottom infrastructure is more than simply a vendor convenience; it's the only way to really achieve cloud scale.» 
  2. Wilder, Bill (2012). Cloud Architecture Patterns: Using Microsoft amit. O'Reilly Media, Inc. p. 78. ISBN 9781449357993. Consultado el 2 de julio de 2019. «In the cloud, multitenant services are standard: data services, DNS services, hardware for virtual machines, load balancers, identity management, and so forth.» 

Enlaces externos

editar