Stan początkowy
Usługa wykonywała procesy długotrwałe w środowisku współdzielonym. Hosting okresowo kończył proces po przekroczeniu własnych ograniczeń. Przerwanie mogło wystąpić w ciągu dnia, bez pewności, który etap był ostatnim poprawnie zapisanym.
Dlaczego zwykłe automatyczne uruchomienie nie wystarczyło
Sam restart procesu mógł uruchomić pracę ponownie od początku, zdublować operację albo odtworzyć niepełny stan. Potrzebny był kontrolowany punkt zatrzymania, zapis informacji koniecznych do wznowienia oraz mechanizm sprawdzający, czy usługa faktycznie wróciła.
Decyzja
Nie walczyliśmy z charakterem hostingu współdzielonego przez dokładanie kolejnych ciężkich procesów. Wdrożyliśmy przewidywalny cykl techniczny. Przed nim stan był porządkowany i zapisywany, a po uruchomieniu mechanizmy nadzorcze sprawdzały działanie oraz możliwość kontynuacji.
Rezultat
Przypadkowe wyłączenia w ciągu dnia przestały być głównym modelem działania. Serwis pracuje w modelu 24/7, z kontrolowanym zdarzeniem technicznym w zaplanowanym oknie. Nie oznacza to obietnicy absolutnego braku restartów — oznacza zastąpienie nieprzewidywalnego zatrzymania zdarzeniem zaplanowanym i nadzorowanym.
Kiedy zastosować podobny model
- zadania długotrwałe na hostingu z limitami czasu i pamięci;
- procesy, które mogą bezpiecznie kontynuować pracę od checkpointu;
- usługi bez budżetu na natychmiastową migrację do osobnej infrastruktury;
- cykliczne synchronizacje, importy, eksporty i przetwarzanie plików.
Kiedy potrzebna jest migracja
Jeżeli proces wymaga ciągłego wykonania bez przerw, dużej pamięci, własnego menedżera procesów, intensywnej kolejki lub gwarantowanych parametrów, hosting współdzielony może przestać być właściwym środowiskiem. Kontrolowany cykl nie powinien maskować trwałego niedopasowania infrastruktury.
