iKonekt
Otwórz konsolę

Dla grup i wielu marek

Kilka spółek,
jedna instalacja, zero wspólnych klientów

Grupy zwykle rozwiązują to dwa razy źle: albo pięć osobnych instalacji i pięć osobnych wszystkiego, albo jedna instalacja i uroczysta obietnica, że aplikacja zawsze poprawnie filtruje. Pierwsze jest drogie. Drugie jest obietnicą, a obietnica nie jest modelem bezpieczeństwa.

Jeśli prowadzisz więcej niż jedną spółkę — holding ze spółkami zależnymi, franczyzę, dwie marki wycelowane w różne rynki, agencję i to, co agencja wydzieliła — znasz już kształt problemu. Marki dzielą ludzi, narzędzia i dział finansowy. Nie dzielą klientów i nie mogą sprawiać wrażenia, że dzielą.

iKonekt prowadzi je wszystkie z jednej instalacji, a rozdzielenia między nimi pilnuje baza danych, nie kod. To rozróżnienie brzmi akademicko dokładnie do dnia, w którym przestaje.

Dlaczego warstwa ma znaczenie

Filtr w warstwie aplikacji to zdanie w zapytaniu. Działa, dopóki zawiera je każde zapytanie, jakie kiedykolwiek powstanie — w tym to napisane w pośpiechu, to napisane przez nową osobę i to napisane na potrzeby raportu, który miał być użyty raz.

Przesuń granicę do bazy, a arytmetyka się odwraca. Reguła działa przy każdym odczycie i zapisie, pod wszystkim. Zapytanie, które zapomni o firmie, nie zwraca złych wierszy; nie zwraca żadnych. Trybem awarii staje się pusty ekran i zdezorientowany programista — czyli właściwy tryb awarii.

Puste ekrany to funkcja. Wolimy tłumaczyć pusty ekran własnemu inżynierowi, niż tłumaczyć listę klientów dwóm klientom, którzy nie spodziewali się poznać.

Jedna instalacjaPer spółka
  • 1Klienci i wątkiW zakresie firmy. Handlowiec marki A nie sięgnie do marki B — z konstrukcji, nie z konfiguracji.
  • 2Zgłoszenia do klienta„Ten klient już jest nasz” to blokada trzymana per spółka — więc dwie marki mogą pracować na tym samym rynku bez kolizji.
  • 3Prompty i ustawieniaKażda spółka edytuje swoje. Jedyne miejsce, gdzie kiedykolwiek było to wspólne, było błędem — i to tym błędem ten system jest najbardziej dumny, że go znalazł.
  • 4Programy partnerskieModuł per spółka, a nie globalny, który wszyscy dziedziczą.

Granica egzekwowana poniżej aplikacji

Co grupa faktycznie dzieli

Rozdzielenie nie jest izolacją dla samej izolacji. Rzeczy warte dzielenia w grupie są dzielone świadomie i są to głównie te nudne — co jest zupełnie słuszne, bo to w nudnych siedzi zdublowany koszt:

  • Jedna instalacja do prowadzenia i aktualizowania. Jedno wdrożenie, jeden zestaw poświadczeń do pilnowania, jedna rzecz do łatania.
  • Jeden zespół ludzi w różnych kapeluszach. Człowiek może pracować w więcej niż jednej spółce; czego nie może, to widzieć obu naraz przez zapytanie, które zapomniało zapytać.
  • Jeden zestaw nawyków. Sposób przypisania kontaktu, pisania notatki, doprowadzenia zlecenia do faktury — nauczony raz, stosowany wszędzie, co skraca wdrożenie nowej osoby do jednego przedpołudnia.
  • Jedna relacja z resztą rodziny. castomAPI pod spodem, to samo konto, te same łączniki — konfigurowane per spółka tam, gdzie to ma znaczenie.

Pytanie, które grupa zadaje jako drugie

„Czy da się raportować w poprzek wszystkich?”. Tak — z perspektywy samej grupy, świadomie i wprost, a nie jako efekt uboczny nieszczelnej granicy. Na tym rozróżnieniu stoi cały projekt: przekroczenie linii musi być czynnością, którą ktoś wykonał celowo, mając do tego prawo. Nigdy nie może być czymś, co przypadkowy identyfikator załatwia mimochodem.

A pytanie trzecie: „co, jeśli sprzedamy jedną z marek?”. Granica, której pilnuje baza, jest jednocześnie granicą, wzdłuż której da się wyjąć czystą kopię. To nie przypadek — rozdzielenie i przenośność to ta sama właściwość oglądana z dwóch różnych spotkań.

Pod podłogą

Co konkretnie trzyma linię

Nie deklaracja, tylko lista. Jeśli dostawca nie potrafi takiej listy podać o własnym produkcie, warto to zauważyć.

26

Tabel niosących swoją spółkę, ze sprawdzeniem wymuszonym, a nie tylko dostępnym.

72

Reguły, wypisane pojedynczo, żeby każdą przeczytał człowiek, a nie wygenerowała pętla.

942

Testy, uruchamiane na bazie odbudowanej od zera przy każdej zmianie.

0

Spółek domyślnych. Żądanie bez zakresu rzuca wyjątkiem, zanim dotrze do danych — nie ma trybu awaryjnego, który można zapomnieć wyłączyć.

Jak zbudowane jest rozdzielenie

„Pięć spółek, pięć instalacji, pięć faktur od Was.”

Jedna instalacja. Pięć granic, których pilnuje baza.

Wspólni ludzie, wspólne nawyki, wspólna platforma — i ani jeden wspólny klient. Przekroczenie tej linii musi być czymś, co człowiek zrobił celowo, a nigdy czymś, co przypadkiem załatwił identyfikator.

Jak zbudowane jest rozdzielenie →