Čo je Rollback?
Rollback je proces vrátenia aplikácie alebo infraštruktúry do predchádzajúcej stabilnej verzie po neúspešnom nasadení alebo objavení kritickej chyby. Je kľúčovou bezpečnostnou praktikou v DevOps pre minimalizáciu výpadkov.
Definícia Rollback
Čo je rollback
Rollback (po slovensky vrátenie zmien alebo návrat na predchádzajúcu verziu) je proces obnovenia systému do posledného známeho funkčného stavu. V kontexte DevOps to znamená vrátenie nasadenia (deploymentu) aplikácie na predchádzajúcu verziu, keď nová verzia spôsobuje problémy.
Typy rollbacku
- Aplikačný rollback — vrátenie na predchádzajúcu verziu kódu/kontajnera
- Databázový rollback — vrátenie databázových migrácií (najkomplexnejší typ)
- Infraštruktúrny rollback — obnovenie predchádzajúcej konfigurácie infraštruktúry (Terraform state)
- Konfiguračný rollback — vrátenie zmien v konfigurácii (environment variables, feature flags)
Implementácia rollbacku
- Kubernetes —
kubectl rollout undo deployment/appokamžite vráti na predchádzajúcu verziu - Blue-green — prepnutie load balancera späť na staré prostredie
- Canary — presmerovanie 100 % prevádzky späť na starú verziu
- Git revert — vytvorenie nového commitu, ktorý ruší zmeny problematického commitu
Najdôležitejšia zásada: rollback musí byť vždy rýchlejší ako oprava. Ak nasadenie spôsobí výpadok, je lepšie okamžite sa vrátiť a problém riešiť bez tlaku, než sa pokúšať o opravu na živom systéme.
Praktický príklad
Príklad: Po nasadení novej verzie e-shopu sa objavila chyba — košík nesprávne počíta cenu s DPH. Zákazníci platia menej, než majú.
Bez pripraveného rollbacku: Vývojári horúčkovito hľadajú chybu v kóde. Oprava trvá 45 minút. Medzitým e-shop stráca peniaze na každej objednávke.
S rollbackom: Správca spustí kubectl rollout undo a do 30 sekúnd beží predchádzajúca verzia. Vývojári v pokoji opravia chybu a nasadia opravu neskôr.
Často kladené otázky
Čo je rollback?
Rollback je vrátenie aplikácie na predchádzajúcu funkčnú verziu po neúspešnom nasadení. Je to bezpečnostná poistka, ktorá minimalizuje dopad chýb na používateľov.
Ako dlho trvá rollback?
V Kubernetes trvá rollback zvyčajne 10-60 sekúnd. Pri blue-green deploymente je to prakticky okamžité (prepnutie load balancera). Databázový rollback môže trvať dlhšie v závislosti od zložitosti migrácií.
Dá sa rollbackovať databázová migrácia?
Áno, ale je to najkomplexnejší typ rollbacku. Každá migrácia by mala mať „down" skript, ktorý zmeny vráti. Niektoré zmeny (napr. zmazanie stĺpca) sú však nevratné, preto je dôležité plánovať migrácie opatrne.
Kedy robiť rollback a kedy hotfix?
Rollback robte vždy, keď je problém kritický a ovplyvňuje používateľov. Hotfix (opravu na živom systéme) robte len pri menších problémoch, kde je oprava rýchlejšia a jednoduchšia než rollback.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.