Migrace je častým úkolem, který je třeba v IT řešit a to v případech, kdy nahrazujeme starý systém novým systémem. Může jít o to, že starý systém z nějakého důvodu zastaral a nevyplatí se ho nadále rozvíjet. Případně může jít o sloučení firem, kdy nemá smysl udržovat více obdobných systémů. Samozřejmě nemusí se jednat jen o 1:1 (starý systém nahrazujeme novým systémem), ale klidně o N:1 (několik starých systémů nahrazujeme jedním novým systémem) nebo N:M (několik starých systémů nahrazujeme několika novými systémy).
Co je potřeba v rámci migrace vyjasnit? Předpokládejme, že se jedná o informační systém nějaké finanční instituce, který obsahuje data o produktech, zákaznících a smlouvách.
- Rozsah migrace - jakých dat se migrace týká. Všech dat, nebo jen omezené množiny dat? Jaké entity (zákazník, smlouva, …) budeme migrovat? Potřebujeme například migrovat i staré ukončené smlouvy? Potřebujeme data týkající se všech produktů, nebo můžeme některé produkty (a k nim navázané smlouvy) vynechat?
- Jaké jsou rozdíly mezi starým a novým systémem. Existuje ve starém systému nějaká funkcionalita, která v novém systému neexistuje? Potřebujeme jí? Pokud ano, měla by se vyvinout i v novém systému. Existuje v novém systému nějaká nová funkcionalita, která ve starém systému neexistuje? Chceme jí využít? Možná jí budeme muset nakonfigurovat.
- Migraci můžeme rozdělit na migraci produktů (struktura produktů, parametry produktů) a migraci samotných dat (tj. migraci dat o zákaznících, smlouvách, …). Dat o samotných produktech je většinou poměrně málo, takže je potřeba se zamyslet, zda trávit čas migrací produktů, nebo tyto produkty ručně nastavit v novém systému.
- Dále je potřeba zjistit, jaké jsou požadavky na migraci, zejména na její provedení. Velmi důležitým požadavkem může být třeba požadavek na dobu přechodu ze starého systému na nový systém. Nelze zanedbat ani požadavky na bezpečnost dat při jejich migraci.
- V závislosti na požadavcích může být migrace provedena jako jednorázová (přesuneme najednou všechna data ze zdrojového systému do cílového systému) nebo postupná (přesouváme data postupně, například po jednotlivých produktech).
Pro přesun dat můžeme vyvinout vlastní nástroj, nebo použít existující ETL (Export-Transform-Load) nástroj. Data je třeba exportovat ze starého systému, transformovat a zkontrolovat a následně nahrát do nového systému. Je potřeba počítat s tím, že ve všech těchto fázích mohou nastat chyby. Na závěr je pak třeba vše otestovat i když samotných proces proběhne bez chyb. Výsledkem totiž mohou být data, kde migrace proběhla bez chyb, ale samotný výsledek je chybný (například kvůli chybně definovanému mapování dat).
Ideální je tedy mít k dispozici odborníky na starý i nový systém a to jak z hlediska dat, tak z hlediska jejich použití v tomto systému. Při definování transformací se navíc může zjistit, že existují rozdíly mezi oběma systémy, které se nepodařilo podchytit dříve. To může vyžadovat dodatečný vývoj na straně nového systému a vést k prodloužení doby dodání.
Další komplikací může být kvalita dat, která nemusí být dostatečná. Napravit datovou kvalitu zpětně bývá značně obtížné. Příklad může být adresa zákazníka, pokud není úplná a obsahuje chyby. Nebo chybějící údaje, které jsou ale potřeba pro plnou funkcionalitu nového systému.
Migrace může být obtížná a časově náročná, ale s dobrou přípravou je zvládnutelná.
Žádné komentáře:
Okomentovat