La computación en la nube se está convirtiendo en un mecanismo
predominante para desplegar fácilmente aplicaciones con requisitos
especiales, tales como el almacenamiento masivo compartido, o el
equilibrado de carga. Esta funcionalidad se proporciona normalmente
como servicios por las plataformas en la nube. Un desarrollador puede
mejorar tanto el despliegue de sus aplicaciones como la productividad
siguiendo un enfoque multi-tenancy, donde diferentes variantes de la misma
aplicación pueden adaptarse rápidamente a las necesidades de cada
usuario (tenant). Sin embargo, gestionar la variabilidad inherente a las
aplicaciones multi-tenant, con cientos de usuarios y miles de configuraciones
arquitectónicas diferentes, puede llegar a ser una tarea intratable
de abordar manualmente. En este artículo, se propone un enfoque de línea
de producto software en el cual: (1) usamos modelos de variabilidad
con cardinalidad para modelar cada tenant como una característica clonable,
(2) automatizamos el proceso de evolución de las arquitecturas de
aplicaciones multi-tenant, y (3) demostramos que la implementación de
los procesos de evolución es correcta y eficiente para un número elevado
de tenants en un tiempo razonable.