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.

01Checkpointzapis minimalnego, spójnego stanu potrzebnego do kontynuacji
02Częściowa kopiaochrona bieżących, najważniejszych treści i konfiguracji
03Cykl technicznyplanowane odświeżenie mniej więcej co 12 godzin, głównie w porze nocnej
04Proces nadzorczykontrola stanu, automatyczne uruchomienie i weryfikacja zdrowia

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.

Najważniejsza lekcjaNa ograniczonej infrastrukturze przewidywalność i możliwość bezpiecznego wznowienia mogą być ważniejsze niż próba utrzymania jednego procesu bez końca.

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.