#### Migrace komplexního systému na nové technologie Cílem projektu **EAP Upgrade** bylo rozdělení jedné masivní codebase na sadu menších komponent, aby bylo možné celý systém **efektivně** kontejnerizovat, nasadit přes Kubernetes a získat všechny výhody s tím spojené. V rámci tohoto projektu bylo také cílem zbavit se starých technologií (např. Switchyard), jejichž vývoj a podpora byla ukončená nebo jejichž údržba a práce s nimi komplikovala, zpomalovala a prodražovala implementaci nových funkcionalit. &&&apache-camel,javaee,docker,jenkins.svg,kubernetes,maven.svg Takto zásadní změny v systému, který je páteří jednoho z největších telekomunikačních společností v České republice, představovaly obrovskou výzvu. Komponenty se přepisovaly na nové technologie postupně a bylo potřeba zajistit, aby v průběhu několikaleté práce dokázali staré a nové "krabičky" spolu bezchybně komunikovat i na úrovni produkčního prostředí. ##### Čeho jsme dosáhli - **Bezvýpadkové přenasazení** serverů trvající jednotky minut. Původně přenasazení trvalo **hodiny** a neobešlo se bez výpadků kritických systémů. - Lze přenasadit jednotlivé komponenty systému zvlášť. Není už nutné přenasazovat celý systém kvůli malým změnám. - Jednodušší vývoj a testování díky rychlé možnosti nasadit a ihned vyzkoušet i ty nejmenší změny bez narušení fungování nesouvisejících komponent. - Obrovské zpřehlednění kódu - snadnější vývoj - rychlejší vývoj. ##### Jaké pasti jsme překonali - **Migrování systémů po částech** - v každý moment musel každý systém umět komunikovat s novou i starou verzí všech komponent. Migrace všech komponent naráz nebyla možná, bylo nutné migrovat komponenty postupně. - Migrace velkého množství dat a business procesů. - Odstranění starých (mrtvých) technologií a nahrazení za nové a moderní.