iKonekt
Abrir la consola

Para grupos y varias marcas

Varias empresas, una instalación, sin clientes compartidos

Los grupos suelen resolver esto dos veces mal: o cinco instalaciones separadas y cinco de todo lo demás, o una sola instalación y una promesa solemne de que la aplicación siempre filtrará correctamente. Lo primero es caro. Lo segundo es una promesa, y las promesas no son un modelo de seguridad.

Si diriges más de una empresa —un holding con filiales, una franquicia, dos marcas dirigidas a mercados distintos, una agencia y lo que la agencia escindió— ya conoces la forma del problema. Las marcas comparten personas, herramientas y un departamento financiero. No comparten clientes, y no deben parecer que lo hacen.

iKonekt ejecuta todas desde una sola instalación, y la separación entre ellas la mantiene la base de datos y no el código. Esa distinción suena académica hasta el día en que deja de serlo.

Por qué importa la capa

Un filtro a nivel de aplicación es una frase en una consulta. Funciona mientras cada consulta que se escriba jamás la contenga —incluida la escrita con prisa, la escrita por el desarrollador nuevo y la escrita para un informe que solo se iba a usar una vez.

Empuja el límite hacia la base de datos y la aritmética se invierte. La política se ejecuta en cada lectura y cada escritura, debajo de todo. Una consulta que olvida la empresa no devuelve filas incorrectas; no devuelve ninguna. El modo de fallo se convierte en una pantalla vacía y un desarrollador confundido, que es el modo de fallo correcto.

Las pantallas vacías son una característica. Preferimos explicarle una pantalla vacía a uno de nuestros propios ingenieros que explicarle una lista de clientes a dos clientes que no esperaban conocerse.

Una instalaciónPor empresa
  • 1Clientes y conversacionesDelimitados. Un vendedor de la marca A no puede acceder a los de la marca B, por construcción y no por configuración.
  • 2Reclamaciones sobre un cliente«Ya tenemos esta cuenta» es un bloqueo que se mantiene por empresa, de modo que dos marcas pueden trabajar el mismo mercado sin chocar.
  • 3Avisos y ajustesCada empresa edita los suyos. El único lugar donde esto llegó a compartirse fue un error, y es el error del que este sistema se siente más orgulloso de haber encontrado.
  • 4Programas de partnersUn módulo por empresa, no uno global que todos hereden.

Límite aplicado por debajo de la aplicación

Lo que un grupo realmente llega a compartir

La separación no es aislamiento por el aislamiento mismo. Lo que vale la pena compartir en un grupo se comparte deliberadamente, y en su mayoría son las cosas aburridas —lo cual es exactamente correcto, porque en las cosas aburridas vive el coste duplicado:

  • Una instalación que ejecutar y actualizar. Un despliegue, un solo juego de credenciales que cuidar, una sola cosa que mantener parcheada.
  • Un equipo de personas, con sombreros distintos. Una persona puede trabajar en más de una empresa; lo que no puede hacer es ver ambas a la vez a través de una consulta que olvidó preguntar.
  • Un solo conjunto de hábitos. La forma en que se asigna un lead, la forma en que se escribe una nota, la forma en que un trabajo llega a una factura: se aprende una vez, se aplica en todas partes, lo que acorta la incorporación a aproximadamente una mañana.
  • Una sola relación con el resto de la familia. castomAPI debajo, la misma cuenta, los mismos conectores —configurados por empresa donde importa.

La pregunta que un grupo siempre hace en segundo lugar

«¿Podemos informar a través de todas ellas?» Sí — desde el propio punto de vista del grupo, de forma deliberada y explícita, y no como efecto secundario de un límite con fugas. La distinción es todo el diseño: cruzar la línea tiene que ser un acto que alguien realizó a propósito, con la autoridad para hacerlo. Nunca debe ser algo que un identificador perdido pueda lograr por accidente.

Y la tercera pregunta que se hacen: «¿qué pasa si vendemos una de las marcas?» Una frontera que mantiene la base de datos también es una frontera de la que puedes extraer una copia limpia. No es una coincidencia — separación y portabilidad son la misma propiedad vista desde dos reuniones distintas.

Bajo el suelo

Lo que sostiene la línea, en concreto

No es una afirmación, es una lista. Si un proveedor no puede producir esta lista sobre su propio producto, eso es digno de mención.

26

Tablas que llevan su empresa, con la comprobación forzada en lugar de simplemente disponible.

72

Políticas, escritas de una en una para que cada una haya sido leída por una persona, no generadas en bucle.

942

Pruebas, ejecutadas contra una base de datos reconstruida desde cero cada vez que cambia algo.

0

Empresas por defecto. Una petición sin ámbito falla antes de llegar a los datos — no hay un valor de respaldo que alguien pueda olvidar desactivar.

Cómo se construye la separación →

«Cinco empresas, cinco instalaciones, cinco facturas para ti.»

Una instalación. Cinco fronteras que mantiene la base de datos.

Personas compartidas, hábitos compartidos, plataforma compartida — y ni un solo cliente compartido. Cruzar esa línea tiene que ser algo que una persona hizo a propósito, nunca algo que un identificador logró por accidente.

Cómo se construye la separación →