iKonekt
Deschideți consola

Pentru grupuri și mai multe branduri

Mai multe companii, o singură instalare, fără clienți partajați

Grupurile rezolvă de obicei asta de două ori, prost: fie cinci instalări separate și cinci toturi separate, fie o singură instalare și o promisiune solemnă că aplicația filtrează întotdeauna corect. Prima variantă este scumpă. A doua este o promisiune, iar promisiunile nu sunt un model de securitate.

Dacă gestionați mai mult de o companie — un holding cu filiale, o franciză, două branduri orientate spre piețe diferite, o agenție și afacerea pe care agenția a scos-o la iveală — cunoașteți deja forma problemei. Brandurile partajează oamenii, uneltele și un departament financiar. Nu partajează clienții și nu trebuie să pară că o fac.

iKonekt le rulează pe toate dintr-o singură instalare, iar separarea dintre ele este asigurată de baza de date, nu de cod. Distincția sună academic până în ziua în care nu mai sună.

De ce contează stratul

Un filtru la nivel de aplicație este o propoziție într-o interogare. Funcționează atâta timp cât fiecare interogare care va fi vreodată scrisă o conține — inclusiv cea scrisă în grabă, cea scrisă de dezvoltatorul nou și cea scrisă pentru un raport care urma să fie folosit o singură dată.

Împingeți granița în baza de date și aritmetica se inversează. Politica rulează la fiecare citire și fiecare scriere, dedesubtul tuturor lucrurilor. O interogare care uită compania nu returnează rândurile greșite; nu returnează niciunul. Modul de eșec devine un ecran gol și un dezvoltator confuz, ceea ce este modul corect de eșec.

Ecranele goale sunt o funcționalitate. Am prefera să explicăm un ecran gol unuia dintre propriii noștri ingineri decât să explicăm o listă de clienți doi clienți care nu se așteptau să se întâlnească.

O singură instalarePer companie
  • 1Clienți și conversațiiDelimitat. Un vânzător din brandul A nu poate ajunge la brandul B, prin construcție, nu prin configurare.
  • 2Pretendenți asupra unui client„Avem deja acest cont” este un lacăt deținut per companie — astfel două branduri pot lucra pe aceeași piață fără a se ciocni.
  • 3Prompturi și setăriFiecare companie își editează propriile. Singurul loc în care acestea au fost vreodată partajate a fost o eroare, și este eroarea de care acest sistem este cel mai mândru că a descoperit-o.
  • 4Programe de parteneriUn modul per companie, nu unul global moștenit de toți.

Graniță impusă sub nivelul aplicației

Ce primește un grup în realitate să partajeze

Separarea nu este izolare pentru sine. Lucrurile care merită partajate în cadrul unui grup sunt partajate în mod deliberat, și sunt în mare parte cele plictisitoare — ceea ce este exact corect, pentru că acolo unde locuiește costul duplicat sunt cele plictisitoare:

  • O singură instalare de rulat și actualizat. O singură implementare, un singur set de acreditări de întreținut, un singur lucru de ținut la zi cu patch-urile.
  • O singură echipă de oameni, cu roluri diferite. O persoană poate lucra în mai mult de o companie; ceea ce nu poate face este să vadă ambele simultan printr-o interogare care a uitat să întrebe.
  • Un singur set de obiceiuri. Modul în care se atribuie un potențial client, modul în care se scrie o notă, modul în care o lucrare ajunge la o factură — învățate o dată, aplicate peste tot, ceea ce scurtează integrarea la aproximativ o dimineață.
  • O singură relație cu restul familiei. castomAPI dedesubt, același cont, aceiași conectori — configurați per companie acolo unde contează.

Întrebarea pe care un grup o pune întotdeauna a doua

„Putem genera rapoarte peste toate?” Da — din perspectiva proprie a grupului, în mod deliberat și explicit, nu ca efect secundar al unei granițe care curge. Distincția este întregul design: traversarea liniei trebuie să fie un act pe care cineva l-a făcut intenționat, cu autoritatea de a o face. Nu trebuie să fie niciodată ceva ce un identificator rătăcit poate realiza din întâmplare.

Și întrebarea pe care o pun a treia: „ce se întâmplă dacă vindem unul dintre branduri?” O graniță păstrată de baza de date este și o graniță din care puteți scoate o copie curată. Nu este o coincidență — separarea și portabilitatea sunt aceeași proprietate văzută din două ședințe diferite.

Sub podea

Ce susține linia, în mod concret

Nu o afirmație, o listă. Dacă un furnizor nu poate produce această listă despre propriul produs, merită observat.

26

Tabele care își poartă compania, cu verificarea forțată activă, nu doar disponibilă.

72

Politici, scrise una câte una, astfel încât fiecare să fi fost citită de o persoană, nu generate într-o buclă.

942

Teste, rulate pe o bază de date reconstruită de la zero de fiecare dată când se schimbă ceva.

0

Companii implicite. O cerere fără delimitare eșuează înainte să ajungă la date — nu există o rezervă pe care să uitați să o dezactivați.

Cum este construită separarea →

„Cinci companii, cinci instalări, cinci facturi de la dumneavoastră.”

O singură instalare. Cinci granițe păstrate de baza de date.

Oameni partajați, obiceiuri partajate, platformă partajată — și niciun client partajat. Traversarea acelei linii trebuie să fie ceva ce o persoană a făcut intenționat, niciodată ceva ce un identificator a reușit din întâmplare.

Cum este construită separarea →