Nasadenie, upgrade a rollback (čo nikdy nesmie chýbať)

Séria: Ako písať dokumentáciu a manuály v IT projekte

 

Reálny problém z praxe

Nasadili sme novú verziu.
Niečo prestalo fungovať.

Nikto presne nevedel:

  • čo všetko sa menilo v databáze
  • ktoré skripty už boli spustené
  • čo treba vrátiť späť

Rollback nebol pripravený.
A systém sa nedal rýchlo stabilizovať.

Problém nebol v kóde.
Bol v tom, že nasadenie nebolo riadené.

 

Čo sa tu vlastne pokazilo (analýza systému)

Nasadenie a upgrade existovali ako „proces v hlavách“.

  • vývoj vedel, čo zmenil
  • tester vedel, čo testoval
  • admin vedel, čo nasadzoval

Ale neexistoval spoločný zdroj pravdy.

Chýbalo:

  • prepojenie medzi zmenou a databázou
  • evidencia vykonaných krokov
  • kontrola, že všetko je zahrnuté v upgrade

To je typická situácia:

  • systém funguje, kým sa nič nepokazí

 

Skutočné náklady (čas, chaos, riziko)

Ak nemáš riadený upgrade a rollback:

  • nasadenie je rizikové
  • rollback je improvizácia
  • databáza sa dostáva do nekonzistentného stavu
  • tím nevie, čo presne je nasadené
  • incidenty sa riešia pomaly

A najhoršie:

„Nevieme, čo všetko sa zmenilo.“

 

Minimálny model riešenia

Cieľ nie je mať dlhý dokument.
Cieľ je mať kontrolu nad zmenami.

 

1. Evidencia databázových zmien

Každá zmena v databáze musí byť:

  • zaznamenaná
  • otestovaná
  • prepojená s upgrade

Ty si to riešila prakticky:

Vytvorila si tabuľku, kde bolo evidované:

  • ktorý SELECT (alebo skript) bol vykonaný
  • v ktorom testovacom prostredí
  • či bol zahrnutý do upgrade

To je presne to, čo chýba vo väčšine tímov.

 

2. Prepojenie na workflow (Jira)

Zaviedla si automatizáciu:

  • keď vývojár zmenil stav tasku
  • vytvorila sa úloha pre testera (overiť databázu)
  • a úloha pre admina (zahrnúť do upgradu)

To znamená:

  • zmena sa nedá „zabudnúť“

To už nie je dokumentácia.
To je kontrolný mechanizmus kvality.

 

3. Štruktúra kapitoly „Upgrade“

Admin príručka musí obsahovať:

Pred upgrade:

  • záloha databázy
  • kontrola verzií
  • zoznam zmien

Počas upgrade:

  • spustenie skriptov
  • nasadenie verzie
  • kontrola priebehu

Po upgrade:

  • overenie funkčnosti
  • kontrola logov
  • základný test

Bez tejto štruktúry je upgrade len „spustenie balíka“.

 

4. Rollback (najčastejšie chýbajúca časť)

Rollback musí odpovedať na:

  • kedy je možný
  • ako sa vykoná
  • čo sa obnovuje (DB, konfigurácia, verzia)
  • čo sa môže stratiť

Príklad:

Ak zmena upraví databázovú schému a neexistuje záloha, rollback nie je možný.

Toto musí byť explicitne uvedené.

 

5. Prepojenie na databázu

Najväčšie riziko upgrade je databáza.

Dokumentácia musí obsahovať:

  • zoznam zmien v DB
  • poradie ich vykonania
  • závislosti medzi nimi

Bez toho vzniká chaos.

 

6. Prepojenie na testovanie

Tester by nemal testovať len funkcionalitu.

Musí vedieť:

  • čo sa mení v databáze
  • čo sa má overiť po upgrade
  • či je možné rollback otestovať

Ty si to vyriešila systémovo:

  • tester overuje databázové zmeny
  • admin ich implementuje do upgradu

To je ideálny stav.

 

Mini checklist

  • Sú všetky databázové zmeny evidované?
  • Sú prepojené s konkrétnymi taskmi?
  • Existuje kontrola, že sú zahrnuté v upgrade?
  • Je definovaný postup pred, počas a po upgrade?
  • Existuje reálny rollback scenár?
  • Vie tím, čo presne bolo nasadené?

Ak nie, upgrade je riziko.

 

Prepojenie na kvalitu a workflow

Nasadenie nie je technická operácia.
Je to moment, keď sa rozhoduje o kvalite.

Bez riadenia:

  • vznikajú incidenty
  • rastie závislosť na konkrétnych ľuďoch
  • tím stráca kontrolu nad systémom

Tvoj príklad to ukazuje presne:

Automatizácia v Jire + evidencia databázových zmien
= prepojenie vývoja, testovania a prevádzky

 

Krátke zhrnutie

Upgrade a rollback nie sú „technická kapitola“.

Sú to kritické scenáre systému.

Administrátorská príručka musí obsahovať:

  • evidenciu zmien
  • riadený upgrade
  • funkčný rollback

Ak nevieš presne povedať, čo si nasadila a ako to vrátiť späť,
nemáš systém pod kontrolou.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Návrat hore