Strategieën voor mainframe-toepassingsmigratie

Wanneer de meeste teams toepassingen migreren van mainframe-omgevingen naar Azure, volgen ze over het algemeen een pragmatische benadering: waar en waar mogelijk hergebruiken. Vervolgens starten ze een gefaseerde implementatie waarbij toepassingen opnieuw worden geschreven of vervangen.

Toepassingsmigratie omvat doorgaans een of meer van de volgende strategieën:

  • Opnieuw hosten: bestaande code, programma's en toepassingen verplaatsen vanuit het mainframe. Compileer de code die moet worden uitgevoerd in een mainframe-emulator die wordt gehost in een cloudexemplementatie. Deze benadering begint meestal met het verplaatsen van toepassingen naar een cloudemulator en vervolgens het migreren van de database naar een clouddatabase. Sommige engineering en herstructurering zijn vereist met deze strategie, samen met gegevens- en bestandsconversies.

    U kunt ook opnieuw hosten met een traditionele hostingprovider. Een van de belangrijkste voordelen van de cloud is het uitbesteden van infrastructuurbeheer. Zoek een datacenterprovider die als host fungeert voor uw mainframeworkloads voor u. Dit model kan enige tijd kopen, de vergrendeling van de leverancier verminderen en tussentijdse kostenbesparingen opleveren.

  • Buiten gebruik stellen: Toepassingen buiten gebruik stellen die niet meer nodig zijn vóór de migratie.

  • Herbouwen: Sommige organisaties kiezen ervoor om programma's volledig te herschrijven met behulp van moderne technieken. Gezien de extra kosten en complexiteit van deze benadering, is het niet zo gebruikelijk als een lift-and-shift-benadering. Vaak is het na dit type migratie zinvol om modules en code te vervangen met behulp van codetransformatie-engines.

  • Vervangen: Deze benadering vervangt de mainframe-functionaliteit door equivalente functies in de cloud. Software as a Service (SaaS) is één optie. Met Saas gebruikt u een oplossing die speciaal is gemaakt voor een ondernemingsprobleem, zoals financiën, human resources, productie of bedrijfsresourceplanning. Daarnaast zijn veel branchespecifieke toepassingen nu beschikbaar om problemen op te lossen die door aangepaste mainframeoplossingen zijn gebruikt om eerder op te lossen.

Begin met het plannen van de workloads die u in eerste instantie wilt migreren en bepaal vervolgens de vereisten voor het verplaatsen van gekoppelde toepassingen, verouderde codebasissen en databases.

Mainframe-emulatie in Azure

Azure-services kunnen traditionele mainframe-omgevingen emuleren. Vervolgens kunt u bestaande mainframecode en toepassingen opnieuw gebruiken. U kunt algemene serveronderdelen, zoals OLTP (Online Transaction Processing), batch- en gegevensopnamesystemen, emuleren.

OLTP-systemen

Veel mainframes hebben OLTP-systemen die duizenden of miljoenen updates verwerken voor grote aantallen gebruikers. Deze toepassingen maken vaak gebruik van transactieverwerking en schermformulierverwerkingssoftware, zoals Customer Information Control System (CICS), Information Management System (IMS) en Terminal Interface Processor (TIP).

Wanneer u OLTP-toepassingen naar Azure verplaatst, kunnen emulators voor TP-monitors (Mainframe Transaction Processing) worden uitgevoerd als IaaS (Infrastructure as a Service) met behulp van virtuele machines (VM's) in Azure. De webservers kunnen ook schermafhandeling en formulierfunctionaliteit implementeren. Combineer deze benadering met database-API's, zoals ActiveX Data Objects (ADO), Open Database Verbinding maken ivity (ODBC) en Java Database Verbinding maken ivity (JDBC) voor gegevenstoegang en transacties.

Tijdgebonden batchupdates

Veel mainframesystemen voeren maandelijkse of jaarlijkse updates uit van miljoenen rekeningrecords, zoals die worden gebruikt in banken, verzekeringen en overheid. Mainframes verwerken deze typen workloads door systemen voor gegevensverwerking met hoge doorvoer aan te bieden. Batchtaken van Mainframes zijn doorgaans serieel en zijn afhankelijk van de invoer- en uitvoerbewerkingen per seconde (IOPS) die door de mainframe-backbone worden geleverd voor prestaties.

Batchomgevingen in de cloud maken gebruik van parallelle reken- en snelle netwerken voor prestaties. Als u batchprestaties wilt optimaliseren, biedt Azure verschillende reken-, opslag- en netwerkopties.

Systemen voor gegevensopname

Mainframes nemen grote hoeveelheden gegevens op uit retail, financiële diensten, productie en andere oplossingen voor verwerking. Met Azure kunt u eenvoudige opdrachtregelprogramma's zoals AzCopy gebruiken voor het kopiëren van gegevens naar en van een opslaglocatie. U kunt ook de Azure Data Factory-service gebruiken om gegevens op te nemen uit verschillende gegevensarchieven en om gegevensgestuurde werkstromen te maken en te plannen.

Naast emulatieomgevingen biedt Azure paaS-services (Platform as a Service) en analyseservices waarmee bestaande mainframe-omgevingen kunnen worden verbeterd.

OLTP-workloads migreren naar Azure

De lift-and-shift-benadering is de optie zonder code voor het snel migreren van bestaande toepassingen naar Azure. Elke toepassing wordt naar verwachting gemigreerd, wat de voordelen van de cloud biedt zonder de risico's of kosten van het aanbrengen van codewijzigingen. Het gebruik van een emulator voor mainframe transaction processing (TP) bewaakt op ondersteuning voor Azure deze benadering.

TP-monitors zijn beschikbaar bij verschillende leveranciers en worden uitgevoerd op virtuele machines, een IaaS-optie (Infrastructure as a Service) in Azure. In de volgende diagrammen ziet u de voor- en na van een onlinetoepassing die wordt ondersteund door IBM DB2, een relationeel databasebeheersysteem (DBMS), op een IBM z/OS mainframe. DB2 voor z/OS maakt gebruik van VSAM-bestanden (Virtual Storage Access Method) voor het opslaan van de gegevens en indexed Sequential Access Method (ISAM) voor platte bestanden. Deze architectuur maakt ook gebruik van CICS voor transactiebewaking.

Diagram of a

In Azure voeren emulatieomgevingen de TP-manager en de batchtaken uit die gebruikmaken van JCL. In de gegevenslaag wordt DB2 vervangen door Azure SQL Database, hoewel u ook Microsoft SQL Server, DB2 LUW of Oracle Database kunt gebruiken. Een emulator ondersteunt IMS, VSAM en SEQ. De hulpprogramma's voor systeembeheer van het mainframe worden vervangen door Azure-services en software van andere leveranciers die worden uitgevoerd op VM's.

Webservers implementeren doorgaans de functionaliteit voor schermafhandeling en formulierinvoer, die u kunt combineren met database-API's, zoals ADO, ODBC en JDBC voor gegevenstoegang en transacties. De exacte line-up van Azure IaaS-onderdelen die moeten worden gebruikt, is afhankelijk van het besturingssysteem dat u wilt gebruiken. Bijvoorbeeld:

  • Windows-VM's: Internet Information Server (IIS) samen met ASP.NET voor de schermafhandeling en bedrijfslogica. Gebruik ADO.NET voor gegevenstoegang en transacties.

  • Op Linux gebaseerde VM's: Op Java gebaseerde toepassingsservers, zoals de verwerking van het apache Tomcat-processcherm en op Java gebaseerde bedrijfsfunctionaliteit. Gebruik JDBC voor gegevenstoegang en transacties.

Batchworkloads migreren naar Azure

Batchbewerkingen in Azure verschillen van de typische batchomgeving op mainframes. Mainframe-batchtaken zijn doorgaans serieel van aard en zijn afhankelijk van de IOPS die wordt geleverd door de mainframe-backbone voor prestaties. Batchomgevingen in de cloud maken gebruik van parallelle computing en snelle netwerken voor prestaties.

Als u batchprestaties met Behulp van Azure wilt optimaliseren, kunt u de opties voor rekenkracht, opslag, netwerken en bewaking als volgt overwegen.

Compute

Gebruik:

  • VM's met de hoogste kloksnelheid. Mainframe-toepassingen zijn vaak single-threaded en mainframe CPU's hebben een hoge kloksnelheid.

  • VM's met een grote geheugencapaciteit om caching van gegevens- en toepassingswerkgebieden mogelijk te maken.

  • VM's met een hogere dichtheid vCPU's om te profiteren van multithreaded-verwerking als de toepassing ondersteuning biedt voor meerdere threads.

  • Parallelle verwerking, omdat Azure eenvoudig kan worden uitgeschaald voor parallelle verwerking, waardoor er meer rekenkracht wordt geleverd voor een batchuitvoering.

Opslag

Gebruik:

  • Azure Premium SSD's of Azure Ultra Disk Storage voor maximaal beschikbare IOPS.

  • Striping met meerdere schijven voor meer IOPS per opslaggrootte.

  • Partitionering voor opslag om I/O over meerdere Azure Storage-apparaten te verdelen.

Netwerken

Bewaking

  • Gebruik bewakingshulpprogramma's, Azure Monitor-, Application Insights- en Azure-logboeken. Deze hulpprogramma's helpen u bij het bewaken van over-presterende batchuitvoeringen en het verminderen van knelpunten.

Ontwikkelomgevingen migreren

De gedistribueerde architecturen van de cloud zijn afhankelijk van een andere set ontwikkelhulpprogramma's die het voordeel bieden van moderne procedures en programmeertalen. Om deze overgang te vereenvoudigen, gebruikt u een ontwikkelomgeving met andere hulpprogramma's die zijn ontworpen om IBM z/OS-omgevingen te emuleren. De volgende lijst bevat opties van Microsoft en andere leveranciers:

Onderdeel Azure-opties
z/OS Windows, Linux of Unix
CICS Azure-services die worden aangeboden door Micro Focus, Oracle, GT Software (Fujitsu), TmaxSoft, Raincode en NTT DATA, of herschrijven met Kubernetes
IMS Azure-services die worden aangeboden door Micro Focus en Oracle
Assembler Azure-services van Raincode en TmaxSoft; of COBOL, C of Java, of toewijzen aan besturingssysteemfuncties
JCL JCL, PowerShell of andere scripthulpprogramma's
COBOL COBOL, C of Java
Natuurlijke Natuurlijk, COBOL, C of Java
Fortran en PL/I Fortran, PL/I, COBOL, C of Java
REXX en PL/I REXX, PowerShell of andere scripthulpprogramma's

Databases en gegevens migreren

Toepassingsmigratie omvat meestal het opnieuw hosten van de gegevenslaag. U kunt SQL Server, opensource en andere relationele databases migreren naar volledig beheerde oplossingen in Azure. U kunt Azure SQL Managed Instance, Azure Database for PostgreSQL en Azure Database for MySQL gebruiken met Azure Database Migration Service.

U kunt bijvoorbeeld migreren als de mainframe-gegevenslaag gebruikmaakt van:

  • IBM DB2 of een IMS-database, gebruikt Azure SQL Database, SQL Server, DB2 LUW of Oracle Database in Azure.

  • VSAM en andere platte bestanden gebruiken indexed Sequential Access Method (ISAM) platte bestanden voor Azure SQL Database, SQL Server, DB2 LUW of Oracle.

  • Generatiedatumgroepen (GDG's), migreren naar bestanden in Azure die gebruikmaken van een naamconventie en bestandsnaamextensies die vergelijkbare functionaliteit bieden als GDG's.

De IBM-gegevenslaag bevat verschillende belangrijke onderdelen die u ook moet migreren. Wanneer u bijvoorbeeld een database migreert, migreert u ook een verzameling gegevens in pools, die elk dbextents bevatten, die z/OS VSAM-gegevenssets zijn. Uw migratie moet de map bevatten die gegevenslocaties in de opslaggroepen identificeert. Uw migratieplan moet ook rekening houden met het databaselogboek, dat een record bevat van bewerkingen die in de database worden uitgevoerd. Een database kan één, twee (dual of alternatief) of vier (dubbele en alternatieve) logboeken bevatten.

Databasemigratie bevat ook de volgende onderdelen:

  • Databasebeheer: biedt toegang tot gegevens in de database. Databasebeheer wordt uitgevoerd in een eigen partitie in een z/OS-omgeving.
  • Toepassingsaannemer: accepteert aanvragen van toepassingen voordat deze worden doorgegeven aan een toepassingsserver.
  • Onlineresourceadapter: bevat onderdelen van toepassingsaanvragen voor gebruik in CICS-transacties.
  • Batch-resourceadapter: implementeert toepassingsaanvraagonderdelen voor z/OS-batchtoepassingen.
  • Interactieve SQL (ISQL): wordt uitgevoerd als een CICS-toepassing en -interface en stelt gebruikers in staat OM SQL-instructies of operatoropdrachten in te voeren.
  • CICS-toepassing: wordt uitgevoerd onder beheer van CICS, met behulp van beschikbare resources en gegevensbronnen in CICS.
  • Batchtoepassing: voert proceslogica uit zonder interactieve communicatie met gebruikers om bijvoorbeeld bulkgegevensupdates te produceren of rapporten te genereren uit een database.

Schaal en doorvoer optimaliseren voor Azure

Over het algemeen schalen mainframes omhoog, terwijl de cloud uitschaalt. Voor het optimaliseren van de schaal en doorvoer van mainframe-toepassingen die worden uitgevoerd in Azure, is het belangrijk om te begrijpen hoe mainframes toepassingen scheiden en isoleren. Een z/OS mainframe maakt gebruik van een functie met de naam logische partities (LPAR's) om de resources voor een specifieke toepassing op één exemplaar te isoleren en te beheren.

Een mainframe kan bijvoorbeeld één LPAR gebruiken voor een CICS-regio met gekoppelde COBOL-programma's en een afzonderlijke LPAR voor DB2. Andere LPAR's worden vaak gebruikt voor de ontwikkel-, test- en faseringsomgevingen.

In Azure is het gebruikelijker om afzonderlijke VM's te gebruiken voor dit doel. Azure-architecturen implementeren doorgaans VM's voor de toepassingslaag, een afzonderlijke set vm's voor de gegevenslaag, een andere set voor ontwikkeling, enzovoort. U kunt elke verwerkingslaag optimaliseren met behulp van het meest geschikte type VM's en functies voor die omgeving.

Bovendien kan elke laag ook geschikte services voor herstel na noodgevallen bieden. Voor productie- en database-VM's is bijvoorbeeld een dynamisch of warm herstel vereist, terwijl de ontwikkel- en test-VM's een koud herstel ondersteunen.

In de volgende afbeelding ziet u een mogelijke Azure-implementatie met behulp van een primaire en een secundaire site. Op de primaire site implementeren de productie-, faserings- en test-VM's met hoge beschikbaarheid. De secundaire site is voor back-up en herstel na noodgevallen.

Diagram of a possible Azure deployment using a primary and a secondary site.

Een gefaseerde migratie naar Azure uitvoeren

Het verplaatsen van oplossingen van een mainframe naar Azure kan een gefaseerde migratie omvatten. U verplaatst eerst enkele toepassingen, terwijl andere tijdelijk of permanent op het mainframe blijven. Deze aanpak vereist doorgaans systemen waarmee toepassingen en databases kunnen samenwerken tussen het mainframe en Azure.

Een veelvoorkomend scenario is het verplaatsen van een toepassing naar Azure en het bewaren van de gegevens die door de toepassing in het mainframe worden gebruikt. Met specifieke software kunnen de toepassingen in Azure toegang krijgen tot gegevens vanuit het mainframe. Gelukkig biedt een breed scala aan oplossingen integratie tussen Azure en bestaande mainframe-omgevingen, ondersteuning voor hybride scenario's en migratie in de loop van de tijd. Microsoft-partners, onafhankelijke softwareleveranciers en systeemintegrators kunnen u helpen bij uw traject.

Een optie is Microsoft Host Integration Server. Deze oplossing biedt de gedistribueerde DRDA (Relational Database Architecture) die is vereist voor toepassingen in Azure. Hiermee hebben de toepassingen toegang tot gegevens in DB2 die zich op het mainframe blijven. Andere opties voor mainframe-to-Azure-integratie zijn oplossingen van IBM, Attunity, Codit, andere leveranciers en opensource-opties.

Partneroplossingen

Als u een mainframemigratie overweegt, kan het ecosysteem van de partner helpen.

Azure biedt een bewezen, maximaal beschikbare en schaalbare infrastructuur voor systemen die momenteel worden uitgevoerd op mainframes. Sommige workloads kunnen met relatief gemak migreren. U kunt andere workloads die afhankelijk zijn van verouderde systeemsoftware, zoals CICS en IMS, opnieuw hosten. Gebruik partneroplossingen en migreer ze in de loop van de tijd naar Azure. Ongeacht de keuze die u maakt, kunnen Microsoft en onze partners u helpen bij het optimaliseren voor Azure terwijl de functionaliteit van mainframesysteemsoftware behouden blijft.

Meer informatie

Voor meer informatie raadpleegt u de volgende bronnen: