¿Cuáles son los desafíos típicos que surgen al convertir una aplicación de un solo inquilino en una aplicación de múltiples inquilinos? La seguridad y el aislamiento de datos me parecen los más importantes. ¿Cuáles son algunos otros?
Soy uno de los arquitectos de un esfuerzo de automatización bastante significativo, e históricamente solo ha sido nuestra compañía usándolo. Queremos hacer posible que otros también lo usen. Cada vez que hablamos de "hacerla multiempresa", la conversación gira en torno a mantener a los usuarios con un inquilino alejado de los datos que posee otro inquilino, y asegurarse de que los usuarios con un inquilino no puedan (ya sea intencionalmente o sin darse cuenta) crear impactos en otro Ambientes del inquilino. Lo que me pregunto es si la seguridad / aislamiento de datos son realmente las únicas preocupaciones importantes aquí, o si hay otras preocupaciones importantes en las que simplemente no estamos pensando.
fuente
Respuestas:
Además de la recopilación de datos, puede tener problemas con
Algunos de estos suponen que está ejecutando todos los inquilinos en el mismo espacio de direcciones (máquina o clúster). Si cada inquilino ejecuta su software en su hardware, puede discutir algunos de los anteriores y agregar:
fuente
El mayor problema en multicliente en mi opinión es la personalización. Esto sucede de manera rutinaria si vende una aplicación comercial a empresas. Puede variar desde algo tan simple como que cada cliente desee sus propios skins hasta la capacidad de configurar campos, reglas, formularios e informes adicionales. El nivel de personalización que necesita admitir juega un papel fundamental en la arquitectura.
fuente
La respuesta de Mike es muy buena, y muchos de los puntos casi minimizan su complejidad debido a lo cortos que son, así que tómalos en serio.
Un punto que agregaría es que debe tener buenas herramientas de administración para crear (y más adelante, administrar) nuevos inquilinos. Dependiendo de la arquitectura física con la que vaya, esto puede estar lejos de ser trivial, y es algo que a menudo se pasa por alto. Los beneficios de un producto de software como servicio realmente solo entran en juego cuando hay una gran cantidad de inquilinos, por lo que se debe realizar un esfuerzo considerable para satisfacer esto.
Extender la respuesta de Sriram; per-inquilino personalización es más o menos prohibido, todo lo que un inquilino que desee cambiar debe ser configurable . Por ejemplo, si su solución no satisface la adición dinámica de campos de datos en al menos algunas áreas clave, es probable que se vea inundado de solicitudes de personalización. Es uno de los pocos casos en los que un poco de complejidad adicional por adelantado realmente vale la pena (digamos que va en contra de YAGNI, o al menos, este nivel de configuración es casi un requisito clave, por lo que lo necesitará).
fuente