Ćwiczenie rollback: przywróć uszkodzone wydanie w 5 minut
Przećwicz przywracanie uszkodzonego wydania w 5 minut: co snapshotować, co weryfikować i kto co klika podczas ćwiczenia.

Dlaczego rollbacky wydają się straszne (i dlaczego ćwiczenia pomagają)
Wydanie może wyglądać dobrze w testach, a potem zepsuć się w pierwszych pięciu minutach rzeczywistego ruchu. Najbardziej przerażająca często nie jest sama usterka, tylko niepewność: co się zmieniło, co można bezpiecznie cofnąć i czy rollback nie pogorszy sytuacji.
Zaraz po wdrożeniu awarie bywają proste i boleśnie widoczne. Nowy przycisk może powodować crash strony na telefonach. Zmiana backendu może zwracać zły kształt danych, więc finalizacja zamówienia nie działa. Mała zmiana konfiguracji może złamać logowanie, maile lub płatności. Nawet gdy naprawa jest prosta, presja rośnie, bo użytkownicy patrzą, a każda minuta wydaje się kosztowna.
Panika zaczyna się, gdy ścieżka rollbacku jest niejasna. Ludzie zadają te same pytania naraz: Czy mamy snapshot? Która wersja była ostatnio dobra? Jeśli cofniemy aplikację, co z bazą danych? Kto ma dostęp, by to zrobić? Kiedy te odpowiedzi nie są zapisane, zespół traci czas na dyskusje zamiast przywracać usługę.
Zgadywanie podczas incydentu kosztuje realnie. Tracisz czas, użytkownicy tracą zaufanie, a pośpieszne zmiany mogą spowodować drugą awarię. Inżynierowie są też rozrywani między debugowaniem, komunikacją i podejmowaniem decyzji.
Ćwiczenie zmienia nastrój, bo zastępuje niepewność pamięcią mięśniową. Dobry drill rollback to nie tylko „czy potrafimy cofnąć kod”. To powtarzalna rutyna: co snapshotujesz, co przywracasz, co weryfikujesz i kto może działać. Po kilku powtórkach rollback przestaje być porażką, a zaczyna być narzędziem bezpieczeństwa.
Jeśli Twój proces wdrożeniowy już obsługuje snapshoty i przywracanie (niektóre platformy, w tym Koder.ai, mają to wbudowane w flow wydania), ćwiczenia stają się łatwiejsze, bo „wróć do znanego dobrego” to normalna akcja, nie niestandardowa procedura awaryjna. Tak czy inaczej cel jest ten sam: gdy nadejdzie moment, nikt nie powinien improwizować.
Co naprawdę oznacza „przywróć w 5 minut”
„Przywróć w 5 minut” nie znaczy, że wszystko jest znowu idealne. Oznacza, że potrafisz szybko przywrócić użytkowników do działającej wersji, nawet jeśli nowe wydanie nadal jest uszkodzone.
Najpierw usługa, potem poprawki. Jeśli szybko przywrócisz usługę, zyskujesz spokojny czas na znalezienie prawdziwej usterki.
Te 5 minut to działania, nie dyskusje
Zegar zaczyna tykać, gdy zgadzacie się: „Cofamy”. Nie obejmuje to długiej debaty, czy sytuacja sama się naprawi.
Zdecyduj wyzwalacz rollbacku wcześniej. Na przykład: „Jeśli błędy w finalizacji zamówień będą powyżej X% przez 3 minuty po wdrożeniu, cofamy.” Gdy wyzwalacz wystąpi, wykonuj scenariusz.
Co liczy się jako „przywrócone”?
„Przywrócone” to kilka sygnałów mówiących, że użytkownicy są bezpieczni, a system stabilny. Trzymaj to zwarte i łatwe do sprawdzenia:
- Kluczowa akcja użytkownika działa ponownie (logowanie, checkout, wyszukiwanie lub to, co Twoja aplikacja musi robić)
- Wskaźnik błędów wraca blisko normy
- Latencja wraca do akceptowalnego zakresu
- Brak pętli crashów lub nawału restartów
Gdy te sygnały wyglądają dobrze, zatrzymaj zegar 5 minut. Wszystko inne może poczekać.
Aby drill był uczciwy, wyraźnie zaznacz, czego nie robisz w ścieżce 5-minutowej: głębokiego debugowania, zmian w kodzie czy hotfixów i wszystkiego, co zamienia się w pracę inżynieryjną.
Wybierz podejście do rollbacku, które zespół będzie powtarzał
Rollback jest szybki tylko wtedy, gdy decyzja jest w dużej mierze przemyślana wcześniej. Wybierz jedną metodę, która działa w większości przypadków, a potem ćwicz ją, aż stanie się nudna.
Twój drill powinien odpowiadać na cztery pytania:
- Cofamy czy robimy hotfix?
- Do czego się cofamy?
- Co wyzwala rollback?
- Kto ma władzę, żeby powiedzieć „rób”?
Rollback vs hotfix: wybierz domyślną drogę
Rollback jest najlepszy, gdy nowe wydanie aktywnie szkodzi użytkownikom lub danym, i gdy masz już znaną dobrą wersję, do której możesz wrócić. Hotfix jest lepszy, gdy wpływ jest mały, zmiana izolowana i masz pewność, że możesz bezpiecznie załatać.
Proste domyślne podejście działa dobrze: jeśli użytkownicy nie mogą wykonać głównej akcji (checkout, login, signup) lub wskaźniki błędów rosną, najpierw cofnij, potem naprawiaj. Hotfixy zostaw na problemy irytujące, ale niegroźne.
Wybierz cel rollbacku
Twój „cel” powinien być czymś, co zespół może wybrać szybko, bez dyskusji. Większość zespołów korzysta z trzech typów celów:
- Poprzednia wersja (ostatnie wydanie, które przeszło kontrole)
- Snapshot wdrożenia, który możesz przywrócić
- Cofnięcie konfiguracji (feature flag lub zmiana środowiskowa)
Jeśli masz niezawodne snapshoty wdrożeniowe, ustaw je domyślnie — są najbardziej powtarzalne pod presją. Trzymaj cofnięcie konfiguracji jako oddzielną drogę, gdy kod jest ok, ale ustawienie jest złe.
Określ też, co liczy się jako „poprzednie dobre”. Powinno to być najnowsze wydanie, które ukończyło kontrole monitoringu i nie miało aktywnego incydentu, a nie „ta wersja, którą ktoś pamięta”.
Zdefiniuj wyzwalacz i uprawnienia
Nie czekaj na spotkanie podczas incydentu. Zapisz wyzwalacze, które rozpoczynają rollback i trzymaj się ich. Typowe wyzwalacze obejmują: zepsuty główny flow przez więcej niż kilka minut, błędy lub latencja przekraczają ustalone progi, ryzyko błędnych zapisów (złe zapisy, podwójne opłaty) oraz wszelkie problemy związane z bezpieczeństwem lub prywatnością wprowadzane przez wydanie.
Następnie zdecyduj, kto może zatwierdzić rollback. Wybierz jedną rolę (lead incydentu lub on-call), plus backup. Wszyscy inni mogą doradzać, ale nie mogą blokować. Gdy wyzwalacz wystąpi, a osoba zatwierdzająca powie „rollback”, zespół wykonuje te same kroki za każdym razem.
Co snapshotować przed każdym wydaniem
Ćwiczenie rollback działa tylko wtedy, gdy możesz szybko wrócić do znanego dobrego stanu. Snapshoty to nie tylko „miły dodatek”. To dowody, co działało, co się zmieniło i jak wrócić.
Pięć rzeczy do uchwycenia
Przed każdym wydaniem upewnij się, że możesz szybko znaleźć te elementy bez przeszukiwania czatów:
- Dokładny build aplikacji, który wypuściłeś: hash commita, numer wersji i artefakt builda (tag kontenera, bundle lub pakiet).
- Stan bazy danych i plan migracji: które migracje zostały zastosowane i czy są odwracalne. Dla ryzykownych zmian zrób backup lub snapshot, który można szybko przywrócić.
- Konfiguracja w czasie wdrożenia: feature flagi, zmienne środowiskowe, endpointy zewnętrzne i co się zmieniło. Sekrety powinny być w bezpiecznym systemie, ale potrzebujesz wersjonowanego zapisu zmian.
- Ustawienia infrastruktury i routingu: domeny, certyfikaty, reguły load balancera i wszelkie przełączniki „gdzie idzie ruch”.
- Krótka notatka wydania: jedno zdanie co się zmieniło i jedno zdanie jak zweryfikować udany rollback.
Bezpieczeństwo bazy danych to zwykła pułapka. Szybki rollback aplikacji nie pomoże, jeśli baza wymaga nowego schematu. Dla ryzykownych migracji zaplanuj wydanie w dwóch krokach (najpierw dodaj pola, potem zacznij ich używać), żeby rollback pozostał możliwy.
Nadaj snapshotom nazwy, by znaleźć je w sekundach
Użyj jednej reguły nazewnictwa wszędzie i takiej, która się sortuje:
prod-2026-01-09-1420-v1.8.3-commitA1B2C3
Zawieraj środowisko, znacznik czasu, wersję i commit. Jeśli narzędzia wspierają snapshoty w UI, używaj tej samej reguły, aby każdy mógł znaleźć właściwy punkt przywracania podczas incydentu.
Role: kto klika co (a kto tylko obserwuje)
Ćwiczenie rollback jest szybsze i spokojniejsze, gdy wszyscy znają swoje zadania. Celem nie jest „wszyscy wskakują”. To jedna osoba podejmująca decyzję, jedna wykonująca akcję, jedna potwierdzająca, że działa, i jedna informująca innych.
Dla małych i średnich zespołów te role działają dobrze (jedna osoba może mieć dwie role, ale unikaj łączenia Deployer i Verifier podczas ćwiczenia):
- Incident lead (czasomierz i decydent): określa cel sukcesu i wzywa rollback.
- Deployer (osoba przy klawiaturze): wykonuje dokładnie zapisane kroki rollbacku i na głos opisuje, co robi.
- Verifier (potwierdzenie): uruchamia obowiązkowe kontrole i obserwuje kluczowe sygnały.
- Communicator (jeden głos na zewnątrz): publikuje krótkie, regularne aktualizacje do interesariuszy i supportu.
Uprawnienia decydują, czy plan jest rzeczywisty, czy tylko ładnym dokumentem. Przed ćwiczeniem uzgodnij, kto ma prawo cofać produkcję i jak działają tryby awaryjne.
Proste ustawienie:
- Przyznaj Deployerowi prawa rollbacku podczas dyżuru on-call lub zaplanowanych okien ćwiczeń.
- Pozwól Incident lead zatwierdzać akcję (nawet jeśli sam nie ma przycisku).
- Upewnij się, że Verifier ma dostęp tylko do odczytu do dashboardów i logów.
- Skonfiguruj opcję break-glass (audytowany, czasowo ograniczony dostęp).
- Przetestuj dostęp podczas przygotowań do ćwiczenia, nie w trakcie 5-minutowego timera.
Jeśli używasz platformy obsługującej snapshoty i rollback (w tym Koder.ai), ustal kto tworzy snapshoty, kto je przywraca i gdzie ta akcja jest rejestrowana.
Krok po kroku: runbook ćwiczenia rollback
Ćwiczenie działa najlepiej, gdy przypomina próbę pożarową: te same kroki, te same słowa, te same miejsca do kliknięcia. Celem nie jest perfekcja, tylko to, by każdy na dyżurze mógł szybko przywrócić ostatnią znaną dobrą wersję bez debatowania opcji.
Zanim zaczniecie
Wybierz jeden jasny wyzwalacz i wypowiedz go na głos, gdy ćwiczenie zaczyna się. Przykłady: „Checkout zwraca 500 przez ponad 1 minutę” lub „Wskaźnik błędów 5x normalnie tuż po wdrożeniu.” Wypowiedzenie tego na głos zapobiega dryfowaniu zespołu w tryb rozwiązywania problemów.
Miej krótką listę przygotowawczą obok runbooka:
- Potwierdź, że widzisz sygnały zdrowia na żywo (uptime, wskaźnik błędów, kluczowy flow)
- Potwierdź identyfikator ostatniej znanej dobrej wersji (tag, build, nazwa snapshotu)
- Potwierdź, gdzie wykonuje się rollback (CI/CD, konsola hostingu, UI platformy)
- Potwierdź, jak wstrzymać nowe deploye
- Potwierdź, kto zapisuje znaczniki czasu
5-minutowy runbook
-
Start zegara. Jedna osoba wypowiada wyzwalacz i decyzję: „Cofamy teraz.”
-
Zamroź zmiany. Wstrzymaj nowe wdrożenia i zatrzymaj nieistotne edycje, które mogłyby zmienić system w trakcie rollbacku.
-
Zrób ostatnią szansę snapshot (tylko jeśli bezpieczne i szybkie). To zabezpieczenie, gdybyś potem potrzebował odtworzyć stan błędny. Nazwij go jasno i idź dalej.
-
Wykonaj akcję rollbacku dokładnie zgodnie z dokumentacją. Nie improwizuj. Czytaj na głos potwierdzenia, żeby osoba zapisująca mogła to odnotować.
-
Potwierdź zakończenie rollbacku w jednym zaufanym miejscu. Używaj jednego ekranu i jednego sygnału za każdym razem (widok historii wdrożeń, etykieta „current version” lub jasny wskaźnik statusu).
Zaraz po akcji zapisz to, co ważne, póki świeże:
- Czas decyzji (wyzwalacz wypowiedziany)
- Czas startu rollbacku (pierwsze kliknięcie/komenda)
- Czas zakończenia rollbacku (aktywna poprzednia wersja)
- Czas pierwszej zielonej weryfikacji (kluczowy check przechodzi)
- Niespodzianki (brak uprawnień, niejasny przycisk, wolny krok)
Jeśli rollback zajmuje dłużej niż 5 minut, nie usprawiedliwiaj tego. Znajdź powolny krok, popraw runbook i przećwicz ponownie.
Co weryfikować po rollbacku
Rollback „zadziałał” dopiero wtedy, gdy użytkownicy to poczują. Nie próbujesz udowodnić, że stara wersja jest wdrożona — udowodnij, że usługa znów jest użyteczna i stabilna.
Trzymaj weryfikację krótką i powtarzalną. Jeśli lista ma więcej niż pięć punktów, ludzie ją pominą pod stresem.
3–5 obowiązkowych checków
Używaj testów, które można wykonać szybko, z jasnym pass/fail:
- Użytkownik może się zalogować (lub zarejestrować) i dotrzeć do ekranu głównego bez błędów
- Główna transakcja działa (checkout, rezerwacja, wysłanie formularza)
- Jeden kluczowy endpoint API zwraca 200 i odpowiedź wygląda normalnie
- Admin/support może wykonać jedną krytyczną akcję (zwrot, anulowanie, aktualizacja statusu)
- Jeden kruchy flow, który często się psuje (reset hasła, upload pliku, wyszukiwanie) nadal działa
Po testach funkcjonalnych zerknij na najprostszy sygnał zdrowia systemu, któremu ufasz. Chcesz zobaczyć spadek wskaźnika błędów i ustabilizowanie latencji w ciągu kilku minut.
Potwierdź też mniej widoczne elementy: zadania w tle powinny przetwarzać się i kolejki powinny się opróżniać, a nie rosnąć. Szybkie kontrole bazy: połączenia stabilne, brak widocznych blokad, aplikacja potrafi zapisywać.
Na koniec przetestuj zewnętrzne integracje, tam gdzie ma to znaczenie. Jeśli da się bezpiecznie, przeprowadź test płatności, potwierdź dostarczalność maili i sprawdź, czy webhooki są akceptowane (lub przynajmniej nie zawodzą).
Zdecyduj sformułowanie „wszystko ok”
Przygotuj jedno zdanie, żeby nikt nie improwizował:
„Rollback zakończony. Kluczowe flow zweryfikowane (login + checkout). Wskaźnik błędów i latencja wróciły do normy. Monitorujemy przez 30 minut. Następna aktualizacja o 14:30.”
Przykład: zepsute wydanie i czyste przywrócenie w 5 minut
Jest 10:02 we wtorek. Wychodzi nowe wydanie, i w ciągu minuty część użytkowników nie może się zalogować. Niektórzy dostają „invalid session”, inni widzą spinner, który się nie kończy. Rejestracje nadal działają, więc problem łatwo przegapić na początku.
Pierwszy sygnał to zwykle nie dramatyczny outage. To cichy skok: zgłoszenia do supportu, spadek udanych logowań i kilka wściekłych wiadomości. On-call widzi alert „login success rate down 18% w 5 minut” i support zgłasza: „3 użytkowników nie może się zalogować po aktualizacji.”
Przywracanie w 5 minut (jak to może wyglądać)
Dzięki praktyce zespół nie debatuje długo. Potwierdzają, decydują i działają.
- 10:03: On-call potwierdza i wyznacza incident leada.
- 10:04: Decyzja o rollbacku. Zasada: jeśli login jest zepsuty i nie ma bezpiecznej naprawy w 2 minuty, cofamy.
- 10:05: Deployer uruchamia rollback do poprzedniego, znanego dobrego snapshotu.
- 10:06: Ruch przełączony z powrotem na poprzednią wersję. Zespół testuje login na web i mobile.
- 10:07: Incident lead publikuje „Login przywrócony, monitorujemy przez 10 minut” i prosi support o odpowiedź do dotkniętych użytkowników.
Co się cofa: kod aplikacji i konfiguracja dla serwisów web i API. Co zostaje: baza danych i dane użytkowników.
Jeśli wydanie zawierało migrację bazy, reguła brzmieć powinna prosto: nigdy nie cofaj bazy w ścieżce 5 minut. Utrzymuj migracje kompatybilne wstecz lub zatrzymaj się i poproś drugą osobę o weryfikację przed wdrożeniem.
Co komunikować (w trakcie i po)
Podczas rollbacku incident lead publikuje krótkie aktualizacje co kilka minut: co widzą użytkownicy, jaka akcja jest wykonywana i kiedy następna aktualizacja. Przykład: „Cofamy ostatnie wydanie, aby przywrócić login. Następna aktualizacja za 2 minuty.”
Po rollbacku zamykają pętlę: „Login z powrotem do normy. Trwa analiza przyczyn. Podzielimy się tym, co się stało i co zmieniliśmy, aby zapobiec powtórkom.”
Częste błędy przy ćwiczeniach rollback (i proste poprawki)
Ćwiczenie powinno być nudne. Jeśli jest stresujące, odsłania luki: dostęp, brak snapshotów lub kroki znane tylko z głowy.
Błędy, które marnują minuty
-
Ćwiczysz z założonymi uprawnieniami, a nie z rzeczywistymi. Ludzie odkrywają w połowie incydentu, że nie mogą wdrożyć, zmienić konfiguracji ani dotrzeć do dashboardów. Poprawka: przeprowadzaj drill z tymi samymi kontami i rolami, których użyjesz podczas incydentu.
-
Snapshoty istnieją, ale są niepełne lub trudne do znalezienia. Zespoły robią snapshot aplikacji, zapominając o zmiennych środowiskowych, flagach lub routingu. Albo nazwa snapshotu nic nie mówi. Poprawka: zrób tworzenie snapshotu krokiem wydania z regułą nazewnictwa i weryfikuj podczas ćwiczeń, że snapshot jest widoczny i można go szybko przywrócić.
-
Migracje bazy czynią rollback niebezpiecznym. Niekompatybilna wstecz zmiana schematu zmienia szybki rollback w problem z danymi. Poprawka: preferuj migracje addytywne. Jeśli nie da się inaczej, zaplanuj poprawkę do przodu i wyraźnie oznacz wydanie: „rollback allowed: yes/no.”
-
Ogłaszasz sukces, zanim sprawdzisz, co czują użytkownicy. Aplikacja się wdrożyła, ale login nadal nie działa lub zadania są zablokowane. Poprawka: trzymaj weryfikację krótką, ale realną, i timebox ją.
-
Drill jest zbyt skomplikowany, by go powtórzyć. Zbyt wiele narzędzi, zbyt wiele kontroli, zbyt wiele głosów. Poprawka: skurcz drill do jednej strony i jednego właściciela. Jeśli nie da się tego zrobić z jednego runbooka i jednego kanału komunikacji, nie zadziała pod presją.
Dobry rollback drill to nawyk, nie heroiczny występ. Jeśli nie możesz go wykonać spokojnie, usuń kroki aż będzie to możliwe, potem dodawaj tylko to, co realnie zmniejsza ryzyko.
Szybka lista kontrolna i następne kroki
Ćwiczenie działa najlepiej, gdy wszyscy trzymają się tej samej, krótkiej listy. Przyklej ją tam, gdzie zespół naprawdę patrzy.
Kompaktowa wersja do wykonania w poniżej 10 minut (wliczając przygotowanie i weryfikację):
- Przed wydaniem: potwierdź punkt rollbacku (snapshot/wersja), zapisz oczekiwane „dobre” zachowanie, przydziel role (deployer, verifier, comms).
- Wyzwalacz: ogłoś „rollback start”, uruchom timer, zamroź nowe wdrożenia.
- Akcja rollbacku: przywróć ostatnią znaną dobrą wersję, zapisz co kliknięto i w jakiej kolejności.
- Weryfikuj: uruchom 2–3 krytyczne checki (login, główny workflow, jedna integracja lub check API), potwierdź spadek wskaźników błędów.
- Zamknij: ogłoś „usługa stabilna”, zapisz trzy notatki (co zadziałało, co spowalniało, co zmienić), odblokuj wdrożenia.
Ćwicz regularnie, by kroki stały się normalne. Miesięcznie to dobry domyślny rytm. Jeśli produkt zmienia się codziennie, ćwicz co dwa tygodnie, ale utrzymuj weryfikację skupioną na najważniejszej ścieżce użytkownika.
Po każdym ćwiczeniu zaktualizuj runbook jeszcze tego samego dnia, póki pamięć świeża. Przechowuj go z notatkami wydania i dodaj linię „ostatnio testowano” z datą, żeby nikt nie ufał przestarzałej procedurze.
Mierz tylko to, co pomaga się poprawić:
- Czas do rollbacku (od decyzji do przywrócenia)
- Czas do weryfikacji (od przywrócenia do stabilizacji)
- Jasność ról (gdzie ludzie zawahali się lub dublowali pracę)
- Braki informacji (poświadczenia, uprawnienia, lokalizacja snapshotu)
Jeśli Twój zespół korzysta z Koder.ai, traktuj snapshoty i rollback jako część nawyku: nazywaj snapshoty konsekwentnie, ćwicz przywrócenia w tym samym interfejsie, którego użyjecie na dyżurze, i uwzględnij szybkie checki domeny niestandardowej oraz integracji w krokach weryfikacyjnych. Wspomnienie o tym w runbooku utrzymuje ćwiczenie zgodne z rzeczywistym procesem wdrażania.
Często zadawane pytania
What is a rollback drill, and what problem does it solve?
Ćwiczenie rollback to próba, w której symulujesz złe wydanie i postępujesz zgodnie z zapisanym scenariuszem, aby przywrócić ostatnią znaną dobrą wersję.
Celem nie jest „szybkie debugowanie”, tylko sprawienie, żeby przywracanie usługi było powtarzalne i spokojne pod presją.
When should we roll back instead of trying a hotfix?
Użyj wcześniej ustalonego wyzwalacza, aby nie debatować w trakcie. Typowe domyślne zasady:
- Główny flow (login/checkout/signup) jest zepsuty przez więcej niż kilka minut
- Wskaźniki błędów lub latencja przekraczają uzgodnione progi
- Ryzyko błędnych zapisów, podwójnych opłat lub problemów z prywatnością/bezpieczeństwem
Jeśli wyzwalacz wystąpi, najpierw cofnij, potem badaj przyczyny po zapewnieniu bezpieczeństwa użytkowników.
What does “restore in 5 minutes” actually mean?
To znaczy, że potrafisz szybko przywrócić użytkowników do działającej wersji — nawet jeśli nowe wydanie nadal jest błędne.
W praktyce „przywrócone” oznacza, że kilka kluczowych sygnałów znowu wygląda zdrowo (główna akcja użytkownika działa, wskaźniki błędów i latencja wracają blisko normy, brak pętli crashów).
What should our default rollback target be?
Wybierz cel, który można wybrać w sekundach, bez dyskusji:
- Poprzednie wydanie, które przeszło kontrole
- Nazwany snapshot wdrożenia, który możesz przywrócić
- Cofnięcie konfiguracji (feature flag / zmienna środowiskowa), gdy kod jest ok
Zdefiniuj „poprzednie dobre” jako ostatnie wydanie z normalnym monitoringiem i bez aktywnego incydentu — nie to, które „ktoś pamięta”.
What should we snapshot before every release?
Przynajmniej te elementy przed każdym wydaniem:
- Identyfikator wysłanego builda (wersja + commit + tag artefaktu)
- Status migracji bazy danych i czy są odwracalne
- Konfiguracja w czasie wdrożenia (flagii, zmienne środowiskowe, endpointy) z wersjonowaniem zmian
- Przełączniki routingu/infrastruktury (domeny, certyfikaty, reguły load balancera)
- Krótka notatka wydania: co się zmieniło + jak zweryfikować sukces rollbacku
Zmiany w bazie to najczęstsza pułapka — rollback aplikacji nie pomoże, jeśli schemat nie jest kompatybilny.
How should we name snapshots so people can find them during an incident?
Nazwy powinny się sortować i być łatwe do znalezienia, na przykład:
prod-YYYY-MM-DD-HHMM-vX.Y.Z-commitABC123
Uwzględnij środowisko + znacznik czasu + wersję + commit. Spójność jest ważniejsza niż dokładny format.
Who should do what during a rollback drill?
Prosty, powtarzalny podział dla małych zespołów:
- Incident lead: podejmuje decyzję i pilnuje czasu
- Deployer: wykonuje kroki rollbacku
- Verifier: uruchamia testy obowiązkowe i obserwuje sygnały
- Communicator: publikuje krótkie aktualizacje do interesariuszy/wsparcia
Unikaj łączenia ról Deployer i Verifier podczas ćwiczeń; chcesz niezależnego „czy to naprawdę zadziałało?”
What are the minimum checks to verify the rollback actually worked?
Utrzymaj listę krótką i oceniającą na tak/nie. Przykładowe must-pass checki:
- Użytkownik może się zalogować (lub zarejestrować) i dojść do ekranu głównego bez błędów
- Główna transakcja działa (checkout/rezerwacja/wysłanie formularza)
- Jeden kluczowy endpoint API zwraca 200 i odpowiedź wygląda normalnie
- Jedna krytyczna akcja admina/wsparcia działa (zwrot, anulowanie, zmiana statusu)
- Jeden kruchej ścieżki (reset hasła, upload pliku, wyszukiwanie) nadal działa
Następnie sprawdź, czy wskaźniki błędów i latencja wracają do normy, a kolejki zadań nie rosną.
How do we handle database migrations so rollbacks stay safe?
Nie rób „cofania bazy danych” częścią 5-minutowej ścieżki. Zamiast tego:
- Preferuj migracje kompatybilne wstecz (additive), żeby stary kod nadal działał
- Użyj wydania w dwóch krokach: najpierw dodaj pola, potem zacznij ich używać
- Jeśli nieunikniona jest łamiąca migracja, oznacz wyraźnie wydanie jako „rollback allowed: yes/no” i zaplanuj poprawkę do przodu
To utrzymuje szybki path rollbacku bezpiecznym i przewidywalnym.
How do snapshots and rollback work if we’re using Koder.ai?
Jeśli platforma wspiera snapshoty i przywracanie w ramach flow wydania, ćwiczenia są prostsze, bo „powrót do znanego dobrego” to normalna akcja.
Na Koder.ai ustal wcześniej:
- Kto może tworzyć snapshoty i kto może je przywracać
- Gdzie zapisywane jest odtworzenie
- Które szybkie weryfikacje zawsze uruchamiacie (wraz z własną domeną i kluczowymi integracjami)
Narzędzia nie zastąpią rutyny: nadal potrzebujesz ról, wyzwalaczy i krótkiej listy weryfikacyjnej.