Replatforming aplikácií mení časť technického základu aplikácie bez toho, aby sa prebudoval celý systém. Aplikácia sa presúva na novú platformu a prispôsobuje sa tam, kde je to potrebné, ale jej hlavné biznisové možnosti, správanie voči používateľom a rozsiahle hranice zostávajú rozpoznateľné.
Čo sa mení počas replatformingu
Projekt replatformingu má definovaný technický cieľ. Môže ísť o nahradenie nepodporovaného behového prostredia, presun databázy na spravovaný ekvivalent, zabalenie aplikácie pre iný systém nasadenia alebo prijatie podporovaného operačného systému. Každá zmena si vyžaduje prácu na kompatibilite, ale projekt nevyužíva presun ako dôvod na redizajn nesúvisiacich častí.
| Oblasť platformy | Možná zmena | Dôkaz kompatibility |
|---|---|---|
| Behové prostredie | Podporovaná verzia jazyka alebo frameworku | Výsledky zostavenia a automatizovaných testov |
| Databáza | Spravované databázové riešenie alebo podporovaná edícia | Kontroly schémy, dopytov a transakcií |
| Nasadenie | Nový formát balíka alebo kontajnera | Opakovateľné nasadenie a vrátenie zmien |
| Prevádzka | Logovanie a monitorovanie natívne pre danú platformu | Upozornenia, panely a test obnovy |
Hranica medzi prácou na platforme a produktovou prácou by mala byť jasná. Zmena, ktorá upravuje biznis pravidlá, vlastníctvo služieb alebo používateľské postupy, už presahuje rámec replatformingu.
Ako audit definuje hranicu
Audit staršieho codebase identifikuje závislosti od aktuálnej platformy. Niektoré sú deklarované v súboroch zostavenia a konfigurácii. Iné sa prejavujú až pri správaní počas behu, vo vlastnostiach databázy, v predpokladoch súborového systému alebo v prevádzkových skriptoch.
Audit by mal zaznamenať:
- Podporované cieľové prostredia: Verzie platformy, ktoré dokážu spustiť aplikáciu a jej závislosti.
- Nekompatibilné funkcie: Rozhrania API, databázové funkcie, ovládače alebo nástroje, ktoré v cieľovom prostredí chýbajú.
- Požadované úpravy: Zmeny kódu a konfigurácie obmedzené na zabezpečenie kompatibility s platformou.
- Prevádzkové zmeny: Nové postupy nasadenia, monitorovania, zálohovania a prístupu.
- Akceptačné kontroly: Dôkazy o správaní a výkone potrebné pred samotným prepnutím.
Tento inventár zabraňuje tomu, aby údajne malý presun platformy maskoval neplánovaný redizajn.
Porovnanie replatformingu s inými stratégiami
Rehosting aplikácií sa zameriava na presun systému s minimálnymi zmenami aplikácie. Replatforming pripúšťa špecifické zmeny s cieľom využiť cieľovú platformu. Rearchitektúra aplikácií ide ešte ďalej a mení hranice komponentov, vlastníctvo dát alebo vzorce interakcie.
Tieto stratégie sa môžu objaviť v rámci jedného programu v rôznom rozsahu. Stabilný reportovací komponent môže byť rehostovaný, podporovaná databáza replatformovaná a úzko prepojený workflow môže vyžadovať rearchitektúru. Na tejto klasifikácii záleží, pretože každý rozsah prináša iné odhady, testy a podmienky pre vrátenie zmien.
Čo musí migračný plán zachovať
Replatforming stále vyžaduje zachovanie kontinuity správania. Rozhrania, plánované úlohy, význam dát, bezpečnostné kontroly a spracovanie chýb sa musia na cieľovej platforme dôkladne skontrolovať. V prípadoch, keď sa cieľ správa odlišne, musí plán rozlišovať medzi zámerným prispôsobením platforme a neúmyselnou zmenou.
Práca sa stáva zvládnuteľnou, keď má každé prispôsobenie svoj dôvod, vlastníka a metódu overenia. Táto disciplína spája rozhodnutie o platforme s praktickými nákladmi na presun a údržbu staršieho softvéru, namiesto toho, aby sa nová platforma považovala za dôkaz, že samotná aplikácia bola zmodernizovaná.