Projektowanie architektury systemu obsługującego jednocześnie wielu różnych klientów znacząco różni się od tworzenia dedykowanego systemu, przeznaczonego do obsługi tylko jednej organizacji. Powód jest bardzo prozaiczny, a jego podstawy leżą najczęściej… w danych.
Nagle wśród driverów architektonicznych pojawiają się zagadnienia związane z szybkością przetwarzania informacji czy przyrostu w bazach danych, ale przede wszystkim z bezpieczeństwem dostępu do nich. Nawet przypadkowe, jednorazowe ujawnienie prywatnych danych innemu użytkownikowi może przecież oznaczać poważne problemy prawne. Dodajmy do tego jeszcze kwestie finansowe związane z kosztem infrastruktury i efektywnym wykorzystaniem jej zasobów, skalowalnością i wydajnością całego systemu, a także potrzebę dopasowania niektórych jego części pod wymagania konkretnych klientów, a otrzymamy dość dokładny obraz istniejących tu wyzwań.
Czas, by w podkaście pojawiło się trochę więcej tematów infrastrukturalnych, w końcu nie samą domenę żyje projekt… Moim gościem jest Michał Giergielewicz, architekt w GetResponse, który na co dzień pracuje przy niemałym systemie multi-tenant. Na początek przyjrzymy się więc podstawowym architekturom tego typu, od całkowicie odseparowanych od siebie środowisk, po współdzielenie w różnym stopniu poszczególnych zasobów.