Ekspertyza · Infrastruktura i operacje
Umieszczamy aplikację na serwerze, nad którym mamy kontrolę, z odwracalnym wdrażaniem, sprawdzonymi kopiami zapasowymi i miejscem, gdzie widać, kiedy coś padło.
Hosting, uruchomienie, monitorowanie i ciągłość dla aplikacji webowych i platform z bazą danych. Pracujemy na infrastrukturze, którą klientka lub klient może przejąć: maszyny wirtualne u europejskich dostawców, nginx, procesy pod nadzorem, kontenery, samohostowana baza danych. Obejmuje odpowiedź na pytanie „gdzie faktycznie znajdują się moje dane”.
Już zbudowaneW ten sposób obsługujemy wiele własnych systemów, a konfiguracje znajdują się w repozytoriach, nie tylko na serwerach. Ta strona działa na nginx z Next.js 16 pod PM2, w OVHcloud București. Platforma asystentów działa na Microsoft Azure, Poland Central, z MySQL, Redis i RabbitMQ w kontenerach połączonych z lokalnym interfejsem. Własna platforma obywatelska korzysta z jednostek systemd z publikacją przez atomowe przełączenie dowiązania symbolicznego, codzienną zweryfikowaną kopią zapasową i osobnym zadaniem retencji, które działa tylko wtedy, gdy ta kopia się powiedzie. Wewnętrzny board jest publikowany przez własny runner, z akcjami GitHub przypiętymi pełnym fingerprintem i z automatycznym powrotem do poprzedniej wersji, jeśli kontrola stanu zawiedzie po publikacji. Zastrzeżenie, które trzeba powiedzieć: stopień automatyzacji różni się między systemami. Publikacja tej strony nadal odbywa się ręcznie, a migracje bazy danych są stosowane ręcznie, celowo. Nie sprzedajemy automatycznego łańcucha, którego nie mamy wszędzie.
Aplikacja, która działa na laptopie, i taka, która działa w produkcji, różnią się rzeczami, których nie widać w interfejsie: co się dzieje, gdy proces umiera o trzeciej w nocy, co się dzieje, gdy publikacja się nie powiedzie, gdzie trafiają logi, kto pierwszy dowiaduje się, że coś padło i skąd odzyskuje się bazę danych, jeśli dysk zniknie. Ta usługa zajmuje się właśnie tą częścią.
Podstawowy wybór, który proponujemy, to infrastruktura, do której klient może rościć prawa: maszyna wirtualna u europejskiego dostawcy, nginx z przodu, procesy pod nadzorcą, kontenery tam, gdzie ma to sens, baza danych hostowana samodzielnie tam, gdzie niezależność liczy się bardziej niż wygoda. Nie dlatego, że platformy zarządzane są złe — lecz dlatego, że pewnego dnia chcesz móc zabrać wszystko i odejść, a jeśli nie zostało to przemyślane od początku, nie da się tego zrobić tanio.
Pytanie o suwerenność danych ma tylko jedną uczciwą odpowiedź: zweryfikowaną. Lokalizację potwierdza się, odpytyjąc usługę metadanych maszyny wirtualnej i rejestr adresu, a nie czytając stronę marketingową dostawcy. Różnica nie jest teoretyczna — w przypadku transferu wewnątrz Europejskiego Obszaru Gospodarczego rozdział o transferach w Legea 195/2024 po prostu nie ma zastosowania. Migracja wykonana przez nas przeniosła platformę z bazy danych hostowanej w Stanach Zjednoczonych na samodzielnie hostowany stos w Unii Europejskiej właśnie z tego powodu.
Czego nie obiecujemy: że wszystko jest automatyczne. Migracje schematu stosujemy ręcznie, celowo, ponieważ migracja zastosowana automatycznie na produkcji przez łańcuch, który nie wie, co jest w tabeli, to zwykły sposób utraty danych. Publikacja kodu jest automatyzowana; zmiana struktury bazy pozostaje decyzją człowieka, z świeżą kopią zapasową z tyłu.