Una plataforma multi-tenant permite atender a múltiples organizaciones o clientes desde una base de producto común. El desafío principal no es mostrar un logo diferente: es garantizar que cada operación se ejecute dentro del contexto correcto y que los datos de un tenant no sean accesibles desde otro.
No existe una única arquitectura multi-tenant
Una estrategia frecuente consiste en compartir base de datos y asociar cada registro con un identificador de organización. Otra opción es separar bases por cliente. También existen modelos híbridos. La decisión depende del nivel de aislamiento necesario, tamaño de los datos, complejidad operativa, requisitos de backup y forma en que se despliegan las actualizaciones.
Resolver el tenant en cada petición
El sistema debe identificar de manera confiable qué organización está activa antes de consultar o modificar información. El tenant puede derivarse de un subdominio, una sesión, un token o una configuración explícita. Lo importante es que la resolución ocurra en una capa central y no quede librada a que cada consulta recuerde aplicar un filtro.
Permisos dentro de cada organización
Multi-tenant y roles son problemas distintos. Una vez resuelto el cliente, todavía hay que definir qué puede hacer cada usuario dentro de ese contexto. Administración, operadores, profesionales y usuarios externos pueden requerir niveles de acceso diferentes.
Migraciones: el desafío que aparece con el tiempo
La arquitectura se pone a prueba cuando cambia el esquema de datos. Si existen clientes con versiones antiguas, datos heredados o configuraciones diferentes, una migración debe contemplar esas diferencias sin asumir que todas las instalaciones están en el mismo estado.
Por eso conviene registrar versiones, diseñar migraciones idempotentes cuando sea posible y validar precondiciones antes de modificar información.
Operación central y configuración por cliente
Un buen diseño separa lo común de lo específico. Código, correcciones y módulos pueden evolucionar de forma central, mientras cada organización conserva usuarios, parámetros, credenciales e integraciones propias.
Este tipo de decisiones aparece en proyectos de Polinux como Gestión Inicial, PSI Central y la integración fiscal ARCA, cada uno con necesidades de aislamiento diferentes.