Per a grups i diverses marques
Diverses empreses, una sola instal·lació, cap client compartit
Els grups solen resoldre això dues vegades malament: o bé cinc instal·lacions separades i cinc de tot, o bé una sola instal·lació i una promesa solemne que l'aplicació sempre filtrarà correctament. La primera és cara. La segona és una promesa, i les promeses no són un model de seguretat.
Si gestiones més d'una empresa —un holding amb filials, una franquícia, dues marques dirigides a mercats diferents, una agència i el que l'agència va escindir— ja coneixes la forma del problema. Les marques comparteixen persones, eines i un departament financer. No comparteixen clients, i no han de semblar que ho facin.
iKonekt les gestiona totes des d'una sola instal·lació, i la separació entre elles la manté la base de dades i no el codi. Aquesta distinció sona acadèmica fins que arriba el dia que ja no.
Per què importa la capa
Un filtre a nivell d'aplicació és una frase dins d'una consulta. Funciona sempre que cada consulta que s'escrigui mai la contingui —inclosa la que s'escriu amb presses, la que escriu el desenvolupador nou i la que es fa per a un informe que només s'utilitzaria una vegada.
Mou la frontera cap a la base de dades i l'aritmètica s'inverteix. La política s'executa a cada lectura i a cada escriptura, per sota de tot. Una consulta que oblida l'empresa no retorna les files equivocades; no en retorna cap. El mode de fallada esdevé una pantalla buida i un desenvolupador confós, que és el mode de fallada correcte.
Les pantalles buides són una funcionalitat. Preferim explicar una pantalla buida a un dels nostres enginyers que explicar una llista de clients a dos clients que no esperaven trobar-se.
- 1Clients i filsDelimitats. Un comercial de la marca A no pot accedir als de la marca B, per construcció i no per configuració.
- 2Reclamacions sobre un client«Ja tenim aquest compte» és un bloqueig que es manté per empresa —de manera que dues marques poden treballar el mateix mercat sense xocar.
- 3Prompts i configuracióCada empresa edita els seus. L'única vegada que es van compartir va ser un error, i és l'error del qual aquest sistema se sent més orgullós d'haver trobat.
- 4Programes de socisUn mòdul per empresa, no un de global que tothom hereti.
Frontera aplicada per sota de l'aplicació
Què comparteix realment un grup
La separació no és un aïllament per gust. Les coses que val la pena compartir dins d'un grup es comparteixen deliberadament, i són sobretot les avorrides —que és exactament el correcte, perquè les avorrides són on viu el cost duplicat:
- Una instal·lació per executar i actualitzar. Un desplegament, un conjunt de credencials per mantenir, una sola cosa per tenir al dia.
- Un equip de persones, amb barrets diferents. Una persona pot treballar en més d'una empresa; el que no pot fer és veure-les totes dues alhora a través d'una consulta que va oblidar preguntar-ho.
- Un únic conjunt d'hàbits. La manera com s'assigna un contacte potencial, com s'escriu una nota, com un treball arriba a una factura —s'aprèn una vegada, s'aplica a tot arreu, i això escurça la incorporació a aproximadament un matí.
- Una única relació amb la resta de la família. castomAPI a sota, el mateix compte, els mateixos connectors —configurats per empresa allà on importa.
La pregunta que un grup sempre fa en segon lloc
«Podem fer informes que abracin totes?» Sí —des del punt de vista propi del grup, de manera deliberada i explícita, i no com a efecte secundari d'una frontera amb fuites. La distinció és tot el disseny: creuar la línia ha de ser un acte que algú ha fet a propòsit, amb l'autoritat per fer-ho. Mai no ha de ser alguna cosa que un identificador extraviat pugui aconseguir per accident.
I la pregunta que fan en tercer lloc: «què passa si venem una de les marques?» Una frontera que manté la base de dades també és una frontera de la qual pots extreure'n una còpia neta. No és una coincidència —la separació i la portabilitat són la mateixa propietat vista des de dues reunions diferents.
Sota el terra
Què sosté la línia, concretament
No és una afirmació, és una llista. Si un proveïdor no pot produir aquesta llista sobre el seu propi producte, val la pena fixar-s'hi.
26
Taules que porten la seva empresa, amb la comprovació forçada engegada i no només disponible.
72
Polítiques, escrites una a una de manera que cada una ha estat llegida per una persona, no generades en bucle.
942
Proves, executades contra una base de dades reconstruïda des de zero cada vegada que canvia alguna cosa.
0
Empreses per defecte. Una petició sense àmbit falla abans d'arribar a les dades —no hi ha cap alternativa de la qual algú pugui oblidar desactivar.

«Cinc empreses, cinc instal·lacions, cinc factures teves.»
Una instal·lació. Cinc fronteres que manté la base de dades.
Gent compartida, hàbits compartits, plataforma compartida — i ni un sol client compartit. Creuar aquesta línia ha de ser alguna cosa que una persona ha fet a propòsit, mai alguna cosa que un identificador ha gestionat per accident.
Com es construeix la separació →