La tenencia múltiple es un elemento de la arquitectura de software , donde una sola instancia de aplicación sirve a muchas organizaciones de clientes ("inquilinos"). El arrendamiento múltiple se opone a una arquitectura de múltiples instancias , donde se crean instancias de software separadas para cada organización cliente. En una arquitectura multiinquilino, las aplicaciones de software funcionan simultáneamente con múltiples configuraciones y conjuntos de datos de múltiples organizaciones, y cada organización cliente trabaja con su propia instancia de la aplicación virtual, viendo solo su propia configuración y conjunto de datos.
Los principios de multiusuario no son universalmente aceptados y respaldados dentro de la industria del software, pero su uso puede ser una fuente de ventaja competitiva.
Las aplicaciones multiusuario están evolucionando en tres direcciones (y también combinan algunas características):
En un entorno multiusuario, una gran cantidad de clientes comparten la misma aplicación que se ejecuta en el mismo sistema operativo en el mismo hardware con el mismo motor de almacenamiento de datos. La distinción entre los clientes se realiza en el momento del diseño de la aplicación, por lo que los clientes no se cruzan y ven los datos de los demás. Con la virtualización , los componentes abstractos permiten que cada instancia de la aplicación se ejecute en una máquina lógica dedicada.
Algunas empresas ven la multitenencia como una fuente de ventaja competitiva.
La tenencia múltiple permite economías de escala: una instancia de aplicación generalmente incurre en una cierta cantidad de memoria y sobrecarga computacional, lo que puede ser significativo cuando se multiplica por una gran cantidad de clientes. La tenencia múltiple reduce estos costos informáticos al amortizarlos para la mayoría de los clientes. Los ahorros adicionales pueden provenir de menores costos de licencias de software (como sistema operativo, sistema de gestión de bases de datos , middleware ). Sin embargo, desarrollar un sistema multiinquilino es todo un desafío y requiere recursos adicionales para las pruebas de seguridad y el aislamiento del cliente.
Desarrollo de software | |
---|---|
Proceso | |
Conceptos de alto nivel | |
Direcciones |
|
Metodologías de desarrollo | |
Modelos |
|
Figuras notables |
|