#### 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í.