Multi-Tenancy es una arquitectura de software en la que una única instancia de una aplicación de software sirve a múltiples clientes. El término se utiliza más comúnmente en referencia a la computación en nube, donde una única instancia de un programa de software se utiliza para servir a múltiples clientes. A cada cliente se le denomina inquilino y se le asigna su propio segmento aislado de la aplicación.
El multiarrendamiento es ventajoso para los clientes de computación en nube porque permite compartir recursos y mejorar la escalabilidad. Esto significa que los clientes pueden pagar sólo por los servicios que necesitan, y no se ven frenados por las limitaciones de las arquitecturas de inquilino único. Como se utiliza la misma instancia de la aplicación de software para dar servicio a todos los clientes, el mantenimiento y las actualizaciones suelen ser más rápidos y eficientes que con las arquitecturas de inquilino único.
Además de la computación en nube, la multitenencia también puede utilizarse en aplicaciones de software, marcos de desarrollo web y otras arquitecturas de software. Por ejemplo, un marco de desarrollo web puede diseñarse de forma que varios inquilinos puedan utilizar la misma instancia de aplicación. Esto permite un desarrollo rápido y un escalado sencillo.
Cuando se utiliza la tenencia múltiple, las empresas deben asegurarse de que cada inquilino dispone de las medidas de seguridad adecuadas, como cortafuegos, autenticación de usuarios y cifrado de datos. Las empresas también deben asegurarse de que tienen políticas de tenencia claras que describan cómo los inquilinos pueden acceder y utilizar los recursos compartidos. Por último, las empresas deben asegurarse de que su infraestructura de nube se mantiene y supervisa adecuadamente, ya que los errores de configuración y las vulnerabilidades de seguridad pueden abrir toda la arquitectura multiarrendatario a los ataques.