Scenariusze Rollback
(Sekcja: Operacje i zarządzanie)
1) Dlaczego potrzebujesz scenariuszy wstecznych
Nawet przy doskonałych testach, niektóre zmiany prowadzą do degradacji. Rollback jest zarządzaną operacją powrotu do wcześniej zdefiniowanej „bezpiecznej” wersji bez utraty danych lub zgodności. Cele: Zmniejszenie MTTR, ochrona pieniędzy/danych, utrzymanie zaufania partnerów i organów regulacyjnych.
2) Klasyfikacja zmian i podejścia wstecznego
Kod i pojemniki: wersjonowane artefakty → niebiesko-zielony, kanaryjski, walcowanie z natychmiastowym odwróceniem do poprzedniego obrazu.
Konfiguracje/phicheflags: funkcja przełączania rollback, przełączniki atomowe z TTL i audytu.
Schematy bazy danych: rozszerzyć → migrate → kontrakt, dwukierunkowe migracje, kolumny „cień”, zasypać w tle.
Listy danych/cenniki/podatki: artefakt ('fx _ version', 'tax _ rule _ version', 'pricelist _ version'), 'freeze' i return.
Integracje (dostawcy PSP/KYC/treści): przełączanie tras/puli, awaryjny dostawca kopii zapasowych.
Infrastruktura/sieci/CDN: stopniowy zwrot zasad/tras, zwrot certyfikatów/kluczy z podwójnym załadowaniem.
3) Wzory architektoniczne dla odwracalności
Immutable releases: każde wydanie jest podpisanym artefaktem (image/config) z możliwością natychmiastowego wybrania poprzedniego.
Warstwy kompatybilności: schemat-kompat (dodać, nie usuwać), tolerancyjny-czytnik po stronie konsumenta.
Podwójny zapis i odczyt cienia: porównaj konsystencję przed „przełączaniem”.
Idempotencja i sagi: działania kompensacyjne dla transakcji transgranicznych.
Ficheflags: Rapid shutdown/phased-in zamiast „hot” redeployment.
4) Walcowanie strategii z punktami zwrotnymi
Kanaryjski N%: mierniki/barierki → podczas auto-rolki degradacji; w przypadku sukcesu - rozszerzenie do 100%.
Niebiesko-zielony: dwa stosy prod; przełączanie ruchu i natychmiastowy zwrot z powrotem.
Walcowanie z pauzą: aktualizacja przez stronę z „punktami pauzy” i możliwość cofnięcia się do poprzedniej fali.
Ficheflags by cohort: „dark launch”, whitelists, regional/tenant flags.
5) Rolling back bazy danych i migracji: bezpieczne szablony
Nigdy nie zrobić „zakłócające” migracji bez rozszerzenia → migrate → kontrakt:1. Rozwiń: dodaj nowe kolumny/indeksy/punkty końcowe, kod zapisuje do obu wersji.
2. Migruj: zasypka i walidacje; czytanie „cienia” z nowej struktury.
3. Umowa: wyłączyć stare po stabilności.
Dwukierunkowość: każda migracja ma 'down ()'; dla dużych zestawów - logiczny powrót (flagi, routing) zamiast fizycznego usunięcia.
Migawki/punkt w czasie: PITR/migawka tabel przed krytycznym wydaniem.
Kontrola programu: walidatory kontraktowe w CI/CD + „suchy-run” na postoju/replice.
6) Katalog/cena/zwrot podatku
Przegląd cenników i przepisów podatkowych; przechowuje pokwitowania publikacji.
Fix 'fx _ version '/' tax _ rule _ version' w zamówieniach - zwroty nie łamią starych czeków.
Z „Niedopasowanie” → jest siłą niepełnosprawność pamięci podręcznej, powrót do poprzedniej wersji artefaktu, odszkodowanie według polityki.
7) Integracja i dostawcy zewnętrzni
PSP/KYC/zawartość: utrzymać trasy kopii zapasowych, próbki zdrowia, szybkie przełączanie DNS/LB, poszczególne klucze.
Haki internetowe: obejmują odpisy i kolejki; podczas rollback - powtórki z „martwych liter” z idempotentnych klawiszy.
Certyfikaty/klucze: podwójne ładowanie (stare + nowe), sprawdzanie zgodności przed przełączaniem.
8) Automatyzacja kickbacków („runów”) i barierek
Руна (кновка): Rollback Release, Disable Flag, Re-route, Flush Cache, Scale Back, Restore Schema.
Poręcze: Kickback uruchomienie dostępne dla IC/właściciela; podpisany (DSSE), limity częstotliwości transakcji, lista kontrolna potwierdzenia.
Auto-rollback: warunki dla SLO/percentyli/błędów/sygnałów finansowych (na przykład,
9) Komunikacja i artefakty
W karcie wydania: wersja, hashes, lista kontrolna podglądów, rollback playbook, odpowiedzialny.
Podczas odwracania: znaczniki czasowe, przyczyna, objętość dotkniętego ruchu, artefakty (linki dziennika, przed/po metrykach).
Komunikacja zewnętrzna (strona statusu/partnerzy): zwięzła i faktyczna.
10) Rollback playbooks (odniesienie)
Kod/obraz zdegradowany (P1):1. Ponowna trasa/Blue-Green z powrotem → 2) naprawić wersję → 3) zablokować dalsze walcowanie → 4) szczep.
Flaga powoduje wzrost błędów:1. Wyłączyć flagę funkcji (100%) → 2) spłukiwanie pamięci podręcznej/pęcherzyków → 3) naprawić bilet.
Migracja bazy danych daje terminy:1. stop heavy-backfill → 2) powrót odczytu do starego schematu (dual-read off) → 3) zmniejszyć obciążenie/indeksy → 4) ocenić 'down ()' lub logiczne rolki.
Niedopasowanie/FX/Podatek:1. rolling back 'pricelist _ version '/' tax _ rule _ version' → 2) disabling edge cache → 3) compensating and reconciling checks.
Awaria PSP:1. przejście do gotowości PSP → 2) kwarantanna transakcji szare → 3) repliki kolejki po stabilizacji.
Złamany klucz/certyfikat:1. powrót do poprzedniego klucza (dual-key) → 2) obrót i repablish.
11) RACI
12) Wskaźniki jakości i SLO
Zmiana wskaźnika awarii (CFR) - udział zwolnień z rollbackiem (docelowy).
MTTR (z odwrotem) jest medianą czasu na powrót do stabilności.
Czas do przewrócenia - od spustu do końca odwrotu (P1 ≤ 15-20 minut).
• - przed/po metrykach (p95, wskaźnik błędów, sukces E2E).
Powtarzające się wałki tej samej przyczyny ≤ N/kwartał.
Zasięg audytu: 100% wałków z artefaktami i podpisami.
13) Bezpieczeństwo, prywatność, zgodność
Czasopisma WORM do wydawania/cofania; przechowywanie artefaktów przez organy regulacyjne.
PII/Finance: Weryfikacja, czy rollback nie otwiera dostępu do nierozwiązanych stref/starych polityk.
SoD: "kto rzuca" ", który zatwierdza", który inicjuje rollback ".
Credits/secrets: double-rollover i natychmiastowy powrót do poprzedniego klucza.
14) Skutki finansowe i operacyjne
Koszt przestoju vs koszt zwrotu: Zautomatyzuj rozwiązanie za pomocą barier SLO.
Kompensacje/kredyty SLA - szablony w odtwarzaczach.
Egress/compute-cap: rollback może tymczasowo zwiększyć obciążenie (powtórka/buforowanie) - zaplanuj okna.
15) Lista kontrolna przed zwolnieniem (go/no-go)
- Podpisane artefakty i punkt zwrotny (wersja obrazu/konfiguracja/dane).
- Plan rollout i rollback playbook (w krokach).
- Migracja zatwierdzona: rozszerzyć → migrate → kontrakt, PITR aktywny.
- Tarcze/barierki SLO: warunki auto-rollback w systemie ostrzegania.
- Kanały komunikacyjne: IC/Owners/Comms on-call.
- Wsteczne testy kompatybilności i „suchy bieg” na etapie postoju.
- Szlaki zapasowe dla integracji krytycznych.
- Plan komunikacji (wewnętrzny/zewnętrzny) i szablony.
16) Lista kontrolna podczas wstecznego (podczas incydentu)
- Potwierdzenie wartości spustowej i objętości (region/najemca/kanał).
- Napraw wersję „to, co wracamy”.
- Uruchomić rune rollback (kod/flaga/trasa/dane).
- Sprawdź SLI/SLO i mierniki biznesowe (E2E, kasa, haki internetowe).
- Sprawdź katalogi/wersje (FX/Tax/List).
- Napraw stan: zakaz nowego toczenia, zbierać artefakty.
- Komunikacja: strona statusu, partnerzy, wewnętrzne.
17) Częste błędy i anty-wzory
Rollback „ręcznie” bez artefaktów i podpisów.
Zakłócające migracje bez dwukierunkowości i PITR.
Flaga funkcji bez „globalnego przełącznika”.
Brak rezerwowych tras do PSP/KYC.
Spłukiwanie pamięci podręcznej bez rozgrzewania → lawina zimnych żądań.
Nieujawnione wyceny, po zwrocie listy cenowej.
18) FAQ
Kiedy wałek jest lepszy niż „na miejscu”?
W przypadku naruszenia SLO/ryzyka pieniędzy/danych, szybszy i bezpieczniejszy jest powrót do znanej wersji stabilnej.
Czy możliwe jest wycofanie „destrukcyjnych” migracji?
Tak, jeśli zaprojektowane jako rozszerzyć → migrate → kontrakt z „down () ”/PITR i logiczny pęcherzyk.
Jak zautomatyzować decyzję o wycofaniu?
SLO guardrails (p95, błąd-szybkość, wartości, sukces webhooks) + macierz ryzyka → auto-rune.
Co zrobić z zleceniami/transakcjami „między”?
Idempotentne klucze, kwarantanna operacji „szare”, repliki kolejek z deduplication.
Podsumowanie: Scenariusze wsteczne nie są improwizacją, ale wstępnie zaprojektowaną zdolnością do szybkiego powrotu do stabilności. Versionize wszystko, zachować odwracalny schemat danych, używać ficheflagów i kanarów, automatyzować runy, uchwycić artefakty i SLO barierki. Następnie każde wydanie pozostaje do zarządzania, a biznes jest przewidywalnie stabilny.