Red de conocimiento informático - Problemas con los teléfonos móviles - Reflexiones sobre la implementación multiinquilino de SaaS

Reflexiones sobre la implementación multiinquilino de SaaS

Al diseñar permisos de SaaS recientemente, hemos estado sopesando la relación entre los inquilinos y las organizaciones para lograr la simplicidad del sistema. Cuando construimos una plataforma PaaS, los inquilinos tienen el concepto de subinquilinos, que se definen a nivel organizacional según el dominio de gestión operativa y el dominio del cliente. Dado que los inquilinos están aislados de los recursos, es bastante problemático lidiar con los problemas de acceso a los recursos entre inquilinos.

Cómo diseñar un sistema SaaS multiinquilino. Aquí hay algunos principios que he resumido para su referencia:

1. Los recursos están aislados entre los inquilinos. No accedan a los datos de los demás.

Lo que estamos haciendo actualmente es el aislamiento lógico y la compatibilidad con múltiples inquilinos se logra agregando ID de inquilinos a la tabla. Por supuesto, naturalmente tendremos que aislarnos físicamente y los costes correspondientes también aumentarán mucho. En este sentido, todos deben tener el concepto de aislamiento de recursos entre inquilinos. Para comprender mejor el diseño original de todo el sistema SaaS, podemos pensar que los recursos entre inquilinos están físicamente aislados.

2. La organización también es un recurso y cada inquilino tiene su propia organización.

Cada inquilino tiene su propia información de recursos, que es privada para el inquilino. Por ejemplo: información de rol, información de usuario, información de organización, etc.

3. Los inquilinos pueden dividir los recursos por organización.

Los inquilinos y las organizaciones tienen muchas similitudes que requieren una comprensión profunda. Mi comprensión personal es que los inquilinos son el aislamiento físico de todos los recursos, mientras que las organizaciones son el aislamiento lógico de los recursos privados de los inquilinos.

4. Los inquilinos no admiten niveles múltiples y existen diferentes tipos de inquilinos.

Para reducir la complejidad del sistema, recomendamos que los inquilinos no admitan múltiples niveles y solo puedan establecer un nivel. Los inquilinos tienen tipos y los diferentes escenarios comerciales se distinguen por tipos.

Por ejemplo: el operador XXX también es un inquilino independiente y no tiene ninguna diferencia esencial con respecto a otros usuarios.

5. Implementar permisos de datos de usuario a través de la jerarquía organizativa.

Este es también el mayor cambio que hemos realizado: centrarnos en los inquilinos y centrarnos en la organización. Utilice las características naturales de aislamiento empresarial de la organización para implementar permisos de datos de recursos a través del árbol de la organización.

6. La gestión operativa es sólo a nivel de inquilinos y no debe involucrar los recursos privados de los inquilinos.

La organización es un recurso privado del inquilino. Naturalmente, la parte de operación y mantenimiento no debe gestionarla y es inconveniente de gestionar.

Aquí hay una imagen para facilitar su comprensión:

Para facilitar la comprensión, la información del inquilino se puede asignar a la organización de forma predeterminada, convirtiéndola en la capa L0 de la organización. Alternativamente, no puede asignarlo y agregarlo automáticamente en el momento de la consulta. Cuando se crea un nuevo inquilino, el administrador predeterminado del inquilino se vinculará a esta cuenta y no hay información relacionada con la organización en este momento.