← Novinky
legacy systém••8 min čítania

Migrácia zo starého systému bez odstavenia prevádzky

Výmena systému cez víkend je lákavá predstava a zvyčajne zlý nápad. Ako presunúť firmu zo starého systému na nový po častiach, s možnosťou vrátiť sa späť.

Starý systém funguje. Nikto mu už nerozumie, dodávateľ na neho nemá kapacitu, na nové požiadavky sa čaká mesiace — ale funguje. A práve preto je jeho výmena taká nepríjemná: nejde o to postaviť nové, ale odstrihnúť staré bez toho, aby sa firma zastavila.

Prečo je veľký tresk zlý nápad

Predstava je príťažlivá: cez víkend sa prepne, v pondelok sa pracuje v novom. Problém je, že chybu objavíte až v pondelok ráno — a vtedy už zvyčajne nie je kam sa vrátiť, lebo do nového systému začali padať objednávky.

Veľký tresk má zmysel len pri malom systéme s málo dátami a málo používateľmi. Pri čomkoľvek väčšom platí, že riziko rastie rýchlejšie než úspora času.

Postupný prechod po moduloch

Praktickejšie je rozdeliť systém na časti a presúvať ich po jednej. Poradie určuje pravidlo: začnite tým, čo má najmenej väzieb na zvyšok.

Typicky to býva číselník alebo modul, ktorý dáta hlavne číta — napríklad prehľady a reporty. Prevádzka na nich nestojí, takže prípadná chyba nikoho nezastaví, a zároveň sa na nich overí, či nový systém vidí dáta správne.

Až potom prichádzajú moduly, ktoré dáta zapisujú, a nakoniec tie, na ktorých stojí denná prevádzka.

Každý krok musí mať definovaný stav, ku ktorému sa dá vrátiť. Nie teoreticky — vyskúšaný. Rovnako, ako to popisujeme pri zálohovaní a obnove firemnej aplikácie: obnova, ktorá sa nikdy netestovala, nie je plán, ale nádej.

Súbeh dvoch systémov

Počas prechodu bude nejaký čas bežať oboje. To je nepríjemné, ale nevyhnutné — a dá sa to zvládnuť, ak sú dopredu jasné dve veci.

Kto je zdroj pravdy. Pre každý typ dát musí byť určené, ktorý systém je záväzný. Nie „obidva", lebo potom vzniknú dve verzie skutočnosti a nikto nevie, ktorá platí.

Ako sa dáta synchronizujú. Jednosmerne, kým sa dá. Obojsmerná synchronizácia je rádovo náročnejšia a treba v nej riešiť konflikty. Ako sa takéto prepojenie stavia, rozoberáme v článku o prepojení firemných systémov cez API.

Migrácia dát je čistenie, nie prenos

Toto sa podcení skoro vždy. V starom systéme sú roky výnimiek: záznamy bez povinných polí, duplicitní zákazníci, dátumy v troch formátoch, poznámky v poli pre telefónne číslo.

Nový systém má prísnejšie pravidlá a väčšinu z toho odmietne. Sú tri možnosti a treba si vybrať vedome: dáta vyčistiť (najlepšie, najdrahšie), pravidlá nového systému uvoľniť (rýchle, prenesie neporiadok), alebo problémové záznamy nemigrovať a nechať ich dostupné len na čítanie v archíve.

Osvedčilo sa migrovať nanečisto opakovane — každý týždeň celý objem dát, s protokolom o tom, čo neprešlo a prečo. Zoznam chýb sa tak skracuje postupne, namiesto aby sa celý objavil týždeň pred spustením. Užitočný je aj samostatný krok čistenia firemných dát ešte pred migráciou.

Čo sa najčastejšie zabudne

  • Integrácie tretích strán. Na starý systém býva napojených viac vecí, než si ktokoľvek pamätá — banka, e-shop, doprava, reporty pre materskú firmu.
  • Tlačové zostavy. Faktúry a dodacie listy musia vyzerať rovnako, inak sa ozvú zákazníci aj účtovníci.
  • Práva používateľov. Prenášať sa majú roly, nie nastavenia jednotlivcov; je to príležitosť upratať, kto má na čo vidieť.
  • História. Treba vopred rozhodnúť, koľko rokov ide do nového systému a čo zostane v archíve.

Ľudia sú polovica migrácie

Technicky vydarená migrácia sa dá pokaziť tým, že si ju tím neosvojí. Pomáha zapojiť niekoľko ľudí z prevádzky už počas testovania — nie ako školenie, ale ako reálnu prácu v novom systéme popri starom. Nájdu veci, ktoré v zadaní nikdy neboli, a zároveň sa z nich stanú tí, ktorých sa kolegovia pýtajú po spustení.

Kedy sa migrácia neoplatí

Stojí za to povedať aj toto: ak starý systém pokrýva potreby a jediným problémom je, že je starý, migrácia nemusí dávať zmysel. Rozumnejšie býva obaliť ho rozhraním a nové veci stavať vedľa neho.

Ak zvažujete výmenu a chcete si prejsť riziká skôr, než sa rozhodnete, napíšte nám. Ako pristupujeme k vývoju na mieru a čo sme podobne riešili, nájdete v referenciách.

INTERFASE