A mainframe-modernizáció ritkán egyetlen döntés. Több különálló stratégia közötti választás, amelyek mindegyike nagyon eltérő költség-, ütemezés- és kockázati profillal bír, és a helyes válasz az üzleti céljaidtól függ, nem pedig technológiai preferenciától. A „mindent újraírni" választása, amikor egy replatform is elég lenne, vagy a „lift and shift", amikor a valódi probléma a karbantarthatatlan kód, így pazarolnak el a modernizációs programok milliókat.
Ez az útmutató összehasonlítja a fő modernizációs stratégiákat, hogy melyiknek mikor van értelme, és hogyan válasszunk.
TL;DR
- A fő stratégiák a rehost, replatform, refactor, rearchitect/rewrite, replace és retire; a legtöbbet általában rehost, replatform és refactor/rewrite csoportba sorolják
- A rehosting a leggyorsabb és legolcsóbb, de a legkevesebbet változtat; a rewrite a legmodernebb eredményt nyújtja a legmagasabb költség és kockázat mellett
- A helyes választás az üzleti hajtóerőktől függ: költségcsökkentés, agilitás, kockázat, a szakértelem elérhetősége és a meglévő kód állapota
- A legtöbb nagy egyesült királyságbeli program a teljes rendszerállományon vegyíti a stratégiákat, ahelyett hogy egyetlen megközelítést alkalmazna mindenre
Miért modernizáljuk egyáltalán a mainframe-et
A hajtóerők következetesek az egyesült királyságbeli vállalatoknál: a COBOL- és mainframe-szakértelem nyugdíjba vonul, a mainframe üzemeltetési költségei magasak, a rendszerek nehezen módosíthatók gyorsan, és integrálásuk a modern felhő-, adat- és MI-platformokkal nehézkes. A tétlenség saját, egyre növekvő kockázatot hordoz, ahogy a szakértelem eltűnik. A kérdés általában nem az, hogy modernizáljunk-e, hanem hogy hogyan.
A mainframe-modernizáció stratégiái
Az iparági keretrendszerek hat vagy hét lehetőséget sorolnak fel; a gyakorlatban ezek néhány érdemi választásba csoportosulnak.
Rehost („Lift and Shift")
A meglévő alkalmazás nagyrészt változatlan áthelyezése új infrastruktúrára, például a mainframe-környezet emulálásával felhőben vagy szabványos hardveren. A COBOL-kód nagyjából változatlan marad.
- Előnyök: A leggyorsabb és legolcsóbb lehetőség; alacsony szállítási kockázat; azonnali kilépés a mainframe hardver- és licencköltségekből.
- Hátrányok: Szinte semmit nem változtat a kódon. Továbbra is COBOL-od van, továbbra is fennáll a szakértelem-probléma, és kevés agilitást nyersz. Ez költséglépés, nem magának a szoftvernek a modernizációja.
- Legjobb ehhez: Olyan szervezeteknek, amelyeknek gyorsan ki kell lépniük a mainframe hardverből, és el akarják halasztani a mélyebb modernizációt.
Replatform
Áttérés új platformra némi módosítással, például a COBOL újrafordítása Linuxon vagy felhőben való futtatáshoz, vagy az adatbázis áthelyezése DB2-ről egy modern megfelelőre, az üzleti logika újraírása nélkül.
- Előnyök: Érdemi infrastruktúra- és költségelőnyök mérsékelt ráfordítással; érintetlenül tartja a bevált üzleti logikát; alacsonyabb kockázat, mint egy rewrite.
- Hátrányok: Az alkalmazás alapvetően továbbra is a régi alkalmazás; az agilitásnyereség korlátozott, és a kódszintű szakértelem-probléma megmarad.
- Legjobb ehhez: Olyan szervezeteknek, amelyek felhő- és költségelőnyöket szeretnének, miközben megőrzik a működő logikát és korlátozzák a kockázatot.
Refactor
A meglévő kód átalakítása és javítása, és gyakran modern nyelvre konvertálása a külső viselkedés megváltoztatása nélkül. Ide illeszkedik a COBOL modern nyelvre való automatizált konverziója, amely karbantartható kódot állít elő egy egészséges fejlesztői állománnyal rendelkező nyelven.
- Előnyök: Megoldja a szakértelem-problémát egy mainstream nyelvre való áttéréssel; javítja a karbantarthatóságot; megőrzi a viselkedést; végezhető fokozatosan.
- Hátrányok: Több ráfordítás, mint a rehost vagy replatform; szigorú kimeneti paritásvizsgálatot igényel; az automatizált konverzió továbbra is emberi munkát igényel az adathozzáférés és a pontosság terén.
- Legjobb ehhez: Olyan rendszerek, amelyek logikája megbízható, de amelyek nyelve és szerkezete a teher. Ez a legtöbb COBOL-modernizáció ideális esete.
Rearchitect / Rewrite
A rendszer újjáépítése, architektúrájának újratervezése (például szolgáltatásokká vagy felhőnatív kialakítássá) és az üzleti logika újraimplementálása modern stacken.
- Előnyök: A legmodernebb, legagilisabb és legkarbantarthatóbb eredményt nyújtja; teljesen megszünteti a felhalmozott technikai adósságot.
- Hátrányok: A legmagasabb költség, a leghosszabb ütemezés és a legnagyobb kockázat; évtizednyi dokumentálatlan üzleti szabály nulláról való újraimplementálása az, ahol a nagy programok elbuknak.
- Legjobb ehhez: Olyan rendszerek, amelyek valóban alkalmatlanok a célra, ahol a vállalkozásnak olyan képességekre van szüksége, amelyeket a jelenlegi kialakítás nem tud támogatni.
Replace és Retire
A rendszer lecserélése kereskedelmi, dobozos (COTS) vagy SaaS-termékre, vagy teljes kivonása, ha már nincs rá szükség.
- Előnyök: A legköltséghatékonyabb kimenet lehet, ha létezik megfelelő termék, vagy a funkció elavult.
- Hátrányok: A COTS ritkán illeszkedik pontosan az egyedi logikához; a migráció és a változáskezelés jelentős; valóban megkülönböztető rendszerekhez nem életképes.
- Legjobb ehhez: Commodity funkciók (például bérszámfejtés vagy főkönyv), ahol létezik érett termék.
A stratégiák összehasonlítása
| Stratégia | Költség | Ütemezés | Kockázat | Modernizációs haszon |
|---|---|---|---|---|
| Rehost | Legalacsonyabb | Legrövidebb | Alacsony | Alacsony (csak infrastruktúra) |
| Replatform | Alacsony-közepes | Rövid-közepes | Alacsony-közepes | Közepes |
| Refactor | Közepes | Közepes | Közepes | Magas (kód és szakértelem) |
| Rewrite | Legmagasabb | Leghosszabb | Magas | Legmagasabb |
| Replace / Retire | Változó | Változó | Közepes-magas | Változó |
Hogyan válasszunk
Hagyd, hogy az üzleti hajtóerők döntsenek, ne a technológia:
- Az elsődleges hajtóerő a költség és a gyors hardverkilépés: kezdd rehost vagy replatform megoldással.
- Az elsődleges hajtóerő a szakemberhiány és a karbantarthatóság: refactor, jellemzően a COBOL mainstream nyelvre konvertálásával.
- Az elsődleges hajtóerő egy új képesség, amelyet a régi kialakítás nem tud támogatni: rearchitect vagy rewrite azon részekre, amelyeknek szükségük van rá.
- A funkció commodity: vedd fontolóra a replace megoldást.
A gyakorlatban a nagy egyesült királyságbeli rendszerállományok vegyítik a megközelítéseket: replatform a stabil részekre, refactor a nehezen karbantartható kódra, rewrite arra a néhány rendszerre, amelynek új képességre van szüksége, és retire arra, amit már nem használnak. Ha a választott út a COBOL modern nyelvre konvertálását jelenti, a COBOL-migráció áttekintése összehasonlítja a célnyelveket, például a C#, Java, Python, Go, C++ és Rust nyelvet, a COBOL-migráció költségeiről szóló útmutató pedig reális költségvetéseket vázol fel.
A Mecanik legacy mainframe-migrációs szolgáltatása az infrastruktúra leszerelését a kódmigráció mellett fedi le, a COBOL-modernizációs szolgáltatás pedig a kódszintű refactor- és konverziós munkát fedi le.
Legfontosabb tanulságok
- A mainframe-modernizáció a rehost, replatform, refactor, rewrite és replace/retire közötti választás, mindegyik külön költség-kockázat profillal.
- A rehost a leggyorsabb és legolcsóbb, de a legkevesebbet modernizálja; a rewrite a legátalakítóbb, de a legdrágább és legkockázatosabb.
- A refactoring (gyakran a COBOL modern nyelvre konvertálása) az ideális eset, amikor a logika megbízható, de a nyelv és a szakértelem a probléma.
- A legtöbb nagy program a teljes állományon vegyíti a stratégiákat; hagyd, hogy az üzleti hajtóerők döntsenek, ne a technológiai preferencia.
Gyakran ismételt kérdések (GYIK)
Mi a különbség egy mainframe-alkalmazás rehostingja és refactoringja között? A rehosting („lift and shift") a meglévő alkalmazást új infrastruktúrára helyezi át nagyrészt változatlan kóddal, így a hardverköltséget kezeli, de nem a kód- vagy szakértelem-problémát. A refactoring átalakítja és gyakran modern nyelvre konvertálja a kódot a viselkedés megőrzése mellett, ami megoldja a karbantarthatósági és szakértelem-problémát.
Jobb újraírni vagy migrálni a COBOL-t? A rendszertől függ. Ha az üzleti logika megbízható, de a nyelv a teher, a COBOL modern nyelvre való konvertálása (refactoring) általában alacsonyabb kockázatú és költségű, mint egy rewrite. A teljes rewrite csak akkor indokolt, ha a jelenlegi kialakítás nem tudja támogatni a vállalkozás által igényelt képességeket.
Melyik mainframe-modernizációs stratégia a legolcsóbb? A rehosting jellemzően a legolcsóbb és leggyorsabb, de a legkevesebb modernizációt nyújtja, mert az alkalmazás alapvetően ugyanaz marad. A replatforming mérsékelt hasznot ad mérsékelt költségért. A rewriting a legdrágább.
Modernizálhatunk egy mainframe-et fokozatosan? Igen. A fokozatos (strangler fig ) modernizáció egyesével cseréli le vagy konvertálja a rendszer részeit, csökkentve a big-bang kockázatot. A legtöbb nagy egyesült királyságbeli program vegyíti a stratégiákat, és fokozatosan vezeti be azokat a teljes állományon.
Mi a legnagyobb kockázat a mainframe-modernizációban? Évtizednyi dokumentálatlan üzleti logika újraimplementálása, különösen egy teljes rewrite során, és a nem megfelelő kimeneti paritásvizsgálat. A bevált logikát megőrző stratégiák (replatform, refactor) kevesebbet hordoznak ebből a kockázatból, mint egy nulláról épített rewrite.
Hozzászólások