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égiaKöltségÜtemezésKockázatModernizációs haszon
RehostLegalacsonyabbLegrövidebbAlacsonyAlacsony (csak infrastruktúra)
ReplatformAlacsony-közepesRövid-közepesAlacsony-közepesKözepes
RefactorKözepesKözepesKözepesMagas (kód és szakértelem)
RewriteLegmagasabbLeghosszabbMagasLegmagasabb
Replace / RetireVáltozóVáltozóKözepes-magasVá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.