Infrastruktura dla małego zespołu: kiedy platforma, a kiedy własny sprzęt
Mały zespół nie potrzebuje własnego administratora. Potrzebuje jasnej zasady, kiedy sięgnąć po zarządzaną platformę, a kiedy po własny serwer.
Infrastruktura to obszar, w którym małe firmy często płacą podwójnie. Albo mają przepłacone rozwiązanie, którego nie potrafią wykorzystać, albo tani serwer, o który nikt nie dba. Ja staram się decydować według prostej zasady: aplikacje na zarządzaną platformę, ciężkie dane na własny sprzęt.
Aplikacje: zarządzana platforma
Do aplikacji webowych, API i frontendów używam platform takich jak Zerops. Wdrożenia prosto z repozytorium Git, oddzielne środowiska, skalowanie i kopie zapasowe zapewnia platforma. Zespół nie musi dbać o aktualizacje systemu, a wdrożenie nowej wersji to kwestia commita. Dla małego zespołu to ogromna oszczędność, bo infrastruktura nie potrzebuje osobnego człowieka.
Ciężkie dane: serwer dedykowany
Są jednak zadania, przy których zarządzana platforma się nie opłaca. Typowy przykład to duże dane, które przetwarza się w kółko. Dla jednej platformy z lokalizacjami na całym świecie budowałem własny stack mapowy oparty na OpenStreetMap: geokodowanie przez Nominatim, wyszukiwanie przez Photon i zapytania przez Overpass, na danych z całej planety. Do tego potrzebny jest serwer dedykowany z dużą ilością pamięci i szybkimi dyskami, na przykład od OVH. W zwykłej chmurze taka sama wydajność wyszłaby znacznie drożej.
CI/CD jako zabezpieczenie
Niezależnie od tego, gdzie działa aplikacja, wdrażanie musi być automatyczne i przetestowane. Pipeline, który uruchamia testy, w tym testy end-to-end, i dopiero potem wdraża, jest dla małego zespołu ważniejszy niż dla dużego. Mały zespół nie ma bowiem nikogo, kto wyłapywałby błędy ręcznie.
Jak podjąć decyzję
- Aplikacja często się zmienia i musi się skalować? Zarządzana platforma.
- Przetwarza ogromne dane w kółko, a obciążenie jest przewidywalne? Własny sprzęt.
- Nikt nie będzie regularnie dbał o serwer? Zdecydowanie zarządzana platforma.
Najdroższa infrastruktura to ta, o którą nikt nie dba.