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ć.
- 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ć.
„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 →