Refaktoring mainframových aplikací pomocí Advanced

Azure Files
Azure Load Balancer
Azure SQL Database
Azure Storage
Azure Virtual Machines

Advanced's Automated COBOL Refactoring solution refactoring applications COBOL, stejně jako ty napsané v CA-Gen, CA-Telon, Natural, ADSO a dalších starších jazycích, aby poskytovaly aplikace a databáze s podporou cloudu, které jsou funkčně ekvivalentní jejich starším protějškům. To snižuje náklady, umožňuje hlubší integraci a umožňuje přizpůsobení tak, aby splňovalo obchodní požadavky. Kromě toho přináší zcela nový svět kvality a škálovatelnosti, od automatizovaného testování až po kontrolu kvality a schopnost využívat kontejnerizovaná nasazení a orchestraci pomocí Dockeru a Kubernetes.

Architektura sálových počítačů

Tady je ukázkový systém, ve kterém je možné použít automatizované faktoring:

Diagram architektury znázorňující systém mainframů, který obsahuje aplikace starší verze jazyka

Workflow

A. Uživatelé poskytují vstup přes protokol TCP/IP pomocí protokolů, jako jsou TN3270, HTTP a HTTPS.

B. Vstup se dorazí pomocí standardních sálových protokolů.

C. Dávkové a online aplikace zpracovávají vstup.

D. COBOL, PL/I, Assembler a kompatibilní jazyky běží v povoleném prostředí.

E. Soubory a databáze poskytují úložiště dat. Mezi typy databází patří hierarchické, síťové a relační.

F. Služby provádějí úlohy pro aplikace. Mezi běžně povolené služby patří spouštění programů, vstupně-výstupní operace, detekce chyb a ochrana.

G. Middleware a utility služby spravují úlohy, jako je páskové úložiště, zařadí se do fronty, výstup a podpora webu.

H. Operační systémy poskytují rozhraní mezi modulem a softwarem, na kterém běží.

I. Oddíly spouštějí samostatné úlohy nebo oddělují pracovní typy v rámci prostředí.

Architektura Azure

Toto je architektura ukázkového systému, který je uvedený výše při refaktoringu pro Azure. Všimněte si, že bublinové popisky dopisů v diagramech ukazují, kde refaktorované řešení zpracovává odpovídající funkce sálového počítače.

Diagram architektury znázorňující systém v Azure po refaktoringu

Stáhněte si soubor aplikace Visio s touto architekturou.

Workflow

  1. Vstup obvykle přichází prostřednictvím Azure ExpressRoute ze vzdálených klientů nebo z jiných aplikací Azure. V obou případech jsou připojení TCP/IP primárním prostředkem připojení k systému. Uživatelský přístup k webovým aplikacím je přes port TLS 443. Uživatelské rozhraní webových aplikací můžete zachovat stejně, abyste minimalizovali přetrénování koncových uživatelů, nebo ho můžete aktualizovat pomocí moderních architektur uživatelského rozhraní. Azure Bastion poskytuje přístup správce k virtuálním počítačům a maximalizuje zabezpečení minimalizací otevřených portů.

  2. Přístup k výpočetním clusterům aplikací je jednou v Azure prostřednictvím nástroje pro vyrovnávání zatížení Azure. Tento přístup umožňuje škálovat výpočetní prostředky na více instancí ke zpracování vstupní práce. V závislosti na vstupu můžete vyrovnávat zatížení na úrovni aplikace nebo na úrovni síťového protokolu.

  3. Advanced podporuje nasazení v kontejnerech, virtuálních počítačích nebo škálovacích sadách virtuálních počítačů. Kontejnery a škálovací sady virtuálních počítačů na rozdíl od virtuálních počítačů se můžou škálovat a rychle navyšovat. Přesun jednotky škálování na kontejnery optimalizuje využití infrastruktury.

  4. Aplikační servery přijímají vstup do výpočetních clusterů a sdílejí stav a data aplikace pomocí služby Azure Cache for Redis nebo vzdáleného přímého přístupu do paměti (RDMA).

  5. Datové služby v aplikačních clusterech umožňují více připojení k trvalým zdrojům dat. Mezi možné zdroje dat patří:

    • Azure SQL Database
    • Azure Cosmos DB.
    • Databáze na virtuálních počítačích, jako je Oracle a Db2.
    • Úložiště pro velké objemy dat, jako jsou Azure Databricks a Azure Data Lake.
    • Streamované datové služby, jako je Kafka a Azure Stream Analytics.
  6. Aplikační servery hostují různé aplikační programy na základě schopností jazyka, jako jsou třídy Java nebo programy COBOL.

  7. Datové služby používají kombinaci:

    1. Vysoce výkonné úložiště: Azure Premium SSD a Azure Ultra Disk Storage.

    2. Úložiště souborů: Azure NetApp Files a Soubory Azure.

    3. Úložiště úrovně Standard: Azure Blob Storage, archivace a zálohování. Zálohování může být následující:

      1. Místně redundantní úložiště (LRS).
      2. Zónově redundantní úložiště (ZRS):
      3. Geograficky redundantní úložiště (GRS):
      4. Geograficky zónově redundantní úložiště (GZRS).

      Další informace o redundanci najdete v tématu Redundance služby Azure Storage.

  8. Datové služby Azure jako služba (PaaS) poskytují škálovatelné a vysoce dostupné úložiště dat pro sdílení napříč několika výpočetními prostředky v clusteru. Můžou být také geograficky redundantní.

  9. Azure Data Factory může ingestovat data a synchronizovat s několika zdroji dat v rámci Azure i z externích zdrojů. Azure Blob Storage je společná cílová zóna pro externí zdroje dat.

  10. Azure Site Recovery poskytuje zotavení po havárii součástí virtuálního počítače a clusteru kontejnerů.

  11. Aplikace se připojují k privátním koncovým bodům různých služeb PaaS.

Komponenty

Tento příklad obsahuje následující komponenty Azure. Některé z těchto komponent a pracovních postupů jsou v závislosti na vašem scénáři zaměnitelné nebo volitelné.

  • Azure ExpressRoute rozšiřuje vaše místní sítě do Azure přes privátní vyhrazené optické připojení od poskytovatele připojení. ExpressRoute vytváří připojení ke cloudovým službám Microsoftu, jako je Azure a Microsoft 365.
  • Azure Bastion poskytuje bezproblémové připojení protokolu RDP (Remote Desktop Protocol) nebo zabezpečeného prostředí (SSH) k virtuálním síťovým virtuálním počítačům z webu Azure Portal přes protokol TLS (Transport Layer Security). Azure Bastion maximalizuje zabezpečení přístupu správce minimalizací otevřených portů.
  • Azure Load Balancer distribuuje příchozí provoz do clusterů výpočetních prostředků. Můžete definovat pravidla a další kritéria pro distribuci provozu.
  • Azure Kubernetes Service (AKS) je plně spravovaná služba Kubernetes pro nasazení a správu kontejnerizovaných aplikací. AKS nabízí bezserverové prostředí Kubernetes, integrované prostředí kontinuální integrace a průběžného doručování (CI/CD) a zabezpečení a zásady správného řízení na podnikové úrovni.
  • Azure Virtual Machines nabízí mnoho velikostí a typů škálovatelných výpočetních prostředků na vyžádání. S virtuálními počítači Azure získáte flexibilitu virtualizace, aniž byste museli kupovat a udržovat fyzický hardware.
  • Azure Virtual Network je základní stavební blok privátních sítí Azure. Virtuální počítače v rámci virtuálních sítí můžou bezpečně komunikovat mezi sebou, internetem a místními sítěmi. Virtuální síť je jako tradiční místní síť, ale s infrastrukturou Azure přináší výhody, jako je škálovatelnost, vysoká dostupnost a izolace.
  • Azure Private Link poskytuje privátní připojení z virtuální sítě ke službám Azure. Private Link eliminuje vystavení veřejného internetu za účelem zjednodušení síťové architektury a zabezpečení připojení mezi koncovými body Azure.
  • Azure Cache for Redis přidává do architektury aplikací rychlou vrstvu ukládání do mezipaměti, aby zvládla velké objemy s vysokou rychlostí. Azure Cache for Redis škáluje výkon jednoduše a nákladově efektivně s výhodami plně spravované služby.
  • Azure Storage je škálovatelné a zabezpečené cloudové úložiště pro všechna vaše data, aplikace a úlohy.
    • Azure Disk Storage je vysoce výkonné odolné blokové úložiště pro důležité obchodní aplikace. Spravované disky Azure jsou svazky úložiště na úrovni bloků, které spravuje Azure na virtuálních počítačích Azure. Dostupné typy diskového úložiště jsou diskové úložiště úrovně Ultra, SSD úrovně Premium, SSD úrovně Standard a HDD úrovně Standard. Tato architektura používá diskové úložiště úrovně Premium nebo Disk Storage úrovně Ultra.
    • Azure Files nabízí plně spravované sdílené složky v cloudu, které jsou přístupné přes standardní protokol SMB (Server Message Block). Cloudová a místní nasazení windows, Linuxu a macOS můžou připojit sdílené složky současně.
    • Azure NetApp Files poskytuje sdílené složky Azure na podnikové úrovni, které využívají NetApp. Azure NetApp Files usnadňuje podnikům migraci a spouštění složitých aplikací založených na souborech beze změn kódu.
    • Azure Blob Storage je škálovatelné a zabezpečené úložiště objektů pro archivy, datová jezera, vysokovýkonné výpočetní prostředí, strojové učení a úlohy nativní pro cloud.
  • Databáze Azure nabízejí výběr plně spravovaných relačních databází a databází NoSQL tak, aby vyhovovaly potřebám moderních aplikací. Automatizovaná správa infrastruktury poskytuje škálovatelnost, dostupnost a zabezpečení.
    • Azure SQL Database je plně spravovaný databázový stroj PaaS. SQL Database vždy běží na nejnovější stabilní verzi SQL Serveru a opraveného operačního systému s vysokou dostupností. Integrované možnosti správy databází PaaS zahrnují upgrade, opravy, zálohování a monitorování. Můžete se zaměřit na správu a optimalizaci databáze specifické pro konkrétní doménu.
    • Azure Database for PostgreSQL je plně spravovaná databáze založená na opensourcovém relačním databázovém stroji PostgreSQL. Možnost nasazení Hyperscale (Citus) škáluje dotazy napříč několika počítači pomocí horizontálního dělení pro aplikace, které vyžadují větší škálování a výkon.
    • Azure Cosmos DB je plně spravovaná a rychlá databáze NoSQL s otevřenými rozhraními API pro jakékoli škálování.
  • Azure Site Recovery zrcadlí virtuální počítače Azure do sekundární oblasti Azure pro rychlé převzetí služeb při selhání a obnovení dat v případě selhání datacentra Azure.
  • Azure Data Factory je služba extrakce, transformace a načítání (ETL) pro škálování na více instancí, integraci bezserverových dat a transformaci dat. Nabízí uživatelské rozhraní bez kódu pro intuitivní vytváření a monitorování a správu prostřednictvím jednoho podokna.

Podrobnosti scénáře

Existuje mnoho důvodů, proč hledat alternativy k mainframovým aplikacím založeným na COBOL, které jsou stále běžné:

  • Vývojáři COBOL a CA-Gen/Natural/Telon/ASDO se vyřazuje a nikdo je nenatrénuje, aby je nahradil, což vede k neustálému snížení fondu talentů. S rostoucím nedostatkem talentů se zvyšují náklady a rizika spoléhat se na COBOL a další starší jazyky.
  • Aplikace nebyly navrženy pro moderní IT, což vedlo k obtížné integraci a omezené flexibilitě.
  • Hardware a software IBM jsou nákladné a poplatky za licencování a údržbu pomocných sálových aplikací a databází se zvyšují.

Advanced's Automated COBOL Refactoring solution refaktoring aplikace COBOL, stejně jako ty napsané v jiných starších jazycích, aby doručovaly aplikace a databáze s podporou cloudu, které jsou funkčně ekvivalentní jejich starším protějškům. To snižuje náklady, umožňuje hlubší integraci a umožňuje přizpůsobení tak, aby splňovalo obchodní požadavky. Kromě toho přináší zcela nový svět kvality a škálovatelnosti, od automatizovaného testování až po kontrolu kvality a schopnost využívat kontejnerizovaná nasazení a orchestraci pomocí Dockeru a Kubernetes.

Refaktorované aplikace:

  • Jsou funkčně ekvivalentní originálům.
  • Jsou snadno udržovatelné – získávají hodnocení SonarQube A a sledují objektově orientované koncepty a paradigmata.
  • Vylepšujte nebo lépe než originály.
  • Jsou připravené pro cloud a doručují se pomocí standardní sady nástrojů DevOps a osvědčených postupů.

Proces refaktoringu zahrnuje normalizaci toků, restrukturalizaci kódu, extrakci vrstvy dat, úpravu dat a balení pro rekonstrukci. Proces identifikuje klonovaný kód a vytvoří sdílené náhradní objekty, zjednoduší údržbu a správu. Komplexní analýza závislostí dat a řízení vyhledá a odebere mrtvý kód.

Jakmile pokročilé řešení refaktoruje aplikace COBOL a přidružené databáze, mohou vývojáři v Javě a C# používat standardní nástroje DevOps a koncepty CI/CD k rozšíření funkcí aplikace. Proces refaktoringu zachovává obchodní logiku a optimalizuje výkon. Mezi další výhody patří elasticita, podrobná definice služby a snadná integrace se službami nativními pro cloud.

Automatizované refaktoring COBOL je k dispozici pro většinu dialektů a platforem COBOL, včetně z/OS, OpenVMS a VME.

Potenciální případy použití

Pokročilé refaktoring výhody mnoha scénářů, mezi které patří:

  • Podniky, které se snaží:
    • Modernizace infrastruktury a únik nákladů, omezení a ztuhlosti spojené s sálovými modely.
    • Vyhněte se riziku spojenému s nedostatkem dovedností v souvislosti se staršími systémy a aplikacemi tím, že přejdete na nativní cloud a DevOps.
    • Snižte provozní a kapitálové náklady.
  • Organizace, které chtějí migrovat úlohy sálového počítače do cloudu bez nákladných ručních přepisů náchylných k chybám.
  • Organizace, které potřebují migrovat důležité obchodní aplikace a současně udržovat kontinuitu s jinými místními aplikacemi
  • Týmy hledají horizontální a vertikální škálovatelnost, kterou Azure nabízí.
  • Firmy, které upřednostňují řešení s možnostmi zotavení po havárii.

Důležité informace

Začleňte následující pilíře architektury Microsoft Azure Well-Architected Framework pro vysoce dostupný a zabezpečený systém:

Dostupnost

Operace

Refaktoring podporuje nejen rychlejší přechod na cloud, ale také podporuje přechod na DevOps a agilní pracovní principy. Máte plnou flexibilitu v možnostech vývoje a produkčního nasazení.

Zabezpečení

Toto řešení používá skupinu zabezpečení sítě Azure ke správě provozu mezi prostředky Azure. Další informace najdete v tématu Skupiny zabezpečení sítě.

Private Link pro Azure SQL Database poskytuje privátní přímé připojení, které je izolované s páteřní sítí Azure od virtuálních počítačů Azure do Azure SQL Database.

Azure Bastion maximalizuje zabezpečení přístupu správce minimalizací otevřených portů. Bastion poskytuje zabezpečené a bezproblémové připojení RDP/SSH k virtuálním síťovým virtuálním počítačům přímo z webu Azure Portal přes protokol TLS.

Odolnost

Odolnost je součástí tohoto řešení nástroji pro vyrovnávání zatížení. Pokud selže jedna prezentace nebo transakční server, můžou ostatní servery za nástroji pro vyrovnávání zatížení spouštět úlohy podle pravidel a sond stavu. Skupiny dostupnosti a geograficky redundantní úložiště se důrazně doporučují.

Optimalizace nákladů

Azure se vyhne zbytečným nákladům tím, že identifikuje správný počet typů prostředků, analyzuje výdaje v průběhu času a škáluje se tak, aby vyhovovaly obchodním potřebám bez nadměrného využití.

  • Azure poskytuje optimalizaci nákladů spuštěním na virtuálních počítačích. Virtuální počítače můžete vypnout, když se nepoužívají, a skriptovat plán pro známé vzory použití. Další informace o optimalizaci nákladů pro instance virtuálních počítačů najdete v architektuře Azure Well-Architected Framework .
  • Virtuální počítače v této architektuře používají diskové úložiště úrovně Premium nebo Disk Storage úrovně Ultra. Další informace o možnostech disků a cenách najdete v tématu Spravované disky cenách.
  • SQL Database optimalizuje náklady s využitím bezserverových výpočetních prostředků a prostředků úložiště Hyperscale, které se automaticky škálují. Další informace o možnostech a cenách služby SQL Database najdete v tématu Ceny služby Azure SQL Database.
  • Pomocí cenové kalkulačky můžete odhadnout náklady na implementaci tohoto řešení.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky