← Volver al blog
Ingeniería8 min de lectura

Arquitectura SaaS multi-tenant para LATAM

Cómo diseñamos Three Trackr para soportar múltiples organizaciones en una sola instancia, con aislamiento de datos real y rendimiento predecible.

Kevin Londoño

Kevin Londoño

10 de abril de 2024

Un SaaS multi-tenant debe responder una pregunta antes de escribir la primera línea de código: ¿qué tan aislados deben estar los datos de cada cliente? De esa respuesta dependen la seguridad, el costo operativo y la facilidad para escalar.

Los tres modelos posibles

  • Una base de datos por cliente: máximo aislamiento, pero costoso de operar y migrar.
  • Tablas compartidas con una columna de tenant: barato, pero un error de filtro expone datos ajenos.
  • Un esquema por cliente dentro de la misma base: un punto medio con aislamiento fuerte y operación manejable.

Lo que elegimos en Three Trackr

Separamos un esquema raíz, que guarda usuarios y organizaciones, de esquemas por tenant que contienen los datos operativos. Cada consulta se ejecuta dentro del contexto de un tenant, de modo que un error de consulta no puede mezclar información entre clientes.

Migraciones y rendimiento

Con esquemas separados, las migraciones deben aplicarse a cada tenant de forma controlada. A cambio, los índices y las consultas se diseñan siempre dentro del contexto de una organización, lo que mantiene los tiempos de respuesta estables aunque la plataforma crezca.

Lecciones

El aislamiento no se logra con disciplina del equipo, se logra con la arquitectura. Si la forma correcta de acceder a los datos es también la más fácil, los errores dejan de ser la norma.