Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Mainframe Modernization: Entkopplungsmuster für die Migration von Anwendungscode
Krithika Palani Selvam und Kevin Yung, Amazon Web Services (AWS)
April 2021(Dokumentverlauf)
Viele Unternehmen verlagern ihre Mainframe-Workloads in die Cloud, um von Faktoren wie Kostenreduzierung, erhöhter Agilität, technischem Schuldenabzug, Unterstützung digitaler Strategien, Legacy-Qualifikationslücke im Mainframe und Datenanalyse zu profitieren. Mainframe-Workloads sind schwieriger zu migrieren als x86-basierte Workloads, da Legacy-Mainframe-Anwendungen häufig eng miteinander verbunden entwickelt und bereitgestellt werden. Beispielsweise kann eine Mainframe-Anwendung Programme enthalten, die von einer Reihe von Subsystemen verwendet werden oder direkt von anderen Anwendungen aufgerufen werden. In diesen Fällen wirken sich Änderungen an den zugrunde liegenden Programmen auch auf die zugehörigen Subsysteme und Anwendungen aus.
Amazon Web Services (AWS) empfiehlt als Best Practice einen inkrementellen Ansatz, bei dem die Migration in Wellen geplant wird. Dieser Ansatz trägt zur Risikominderung bei, da Sie Anwendungen auswählen und priorisieren, die eng miteinander verknüpft sind und gemeinsam migriert werden sollen. Dieser Ansatz ist jedoch manchmal nicht so einfach für Mainframe-Migrationen wie für x86-basierte Migrationen, insbesondere weil der Mainframe-Anwendungscode zeitlich gekoppelt (synchron aufgerufen) oder bereitstellungsgekoppelt (unter Verwendung verknüpfter Module) sein kann. Die Migration des gekoppelten Anwendungscodes wirkt sich auf abhängige Anwendungen aus und birgt daher einige Risiken. Um solche Risiken zu reduzieren, können Sie den Mainframe-Anwendungscode entkoppeln, ohne dass sich dies auf abhängige Anwendungen auswirkt. In diesem Handbuch werden einige der häufig verwendeten Muster zum Entkoppeln von Mainframe-Anwendungscode für die Migration erläutert.
Der Leitfaden richtet sich an IT- und Geschäftsmanager, Architekten und Geschäftsanalysten, Migrations- und technische Leiter, Entwicklungsteams, Programm- und Projektmanager, Product Owner sowie Betriebs- und Infrastrukturmanager, die eine Migration und Modernisierung ihrer Mainframe-Anwendungen in derAWSCloud.
Gezielte Geschäftsergebnisse
Dieses Handbuch befasst sich mit allgemeinen Herausforderungen, denen Sie möglicherweise gegenüberstehen, wenn Sie gekoppelte Programme von Mainframes zuAWS. Es präsentiert Codeentkopplungsmuster, dieAWSProfessional Services-Berater treffen bei ihren Engagements häufig aufAWSKunden. Wenn Sie diese Muster verwenden, können sowohl Ihre migrierten als auch Ihre Legacy-Anwendungen während des Migrationsprozesses weiterhin funktionieren.
Definitionen
In dieser Anleitung:
-
EINMainframe Applicationbezieht sich auf eine Reihe verwandter Mainframe-Programme und Unterprogramme, die eine Reihe von Geschäftsprozessen ausführen und erleichtern. Mainframe Processing Systems (Online Transaction Processing, OLTP) können Stapelverarbeitungssysteme sein.
-
EINMainframe Componentbezieht sich auf eine Gruppe von Programmen und Unterprogrammen, die bestimmte Funktionen erreichen.
-
EINMainframe Programbezieht sich auf eine Reihe von Anweisungen, die Geschäftslogik implementieren. Programme können unabhängig voneinander ausgeführt werden.
-
EINUnterprogrammist normalerweise für einen wiederverwendbaren Vorgang oder eine Geschäftslogik geschrieben, die für mehrere Anwendungen erforderlich ist. Ein Programm ruft seine Unterprogramme entweder statisch oder dynamisch auf.
-
EINGeschäftsdomänebezieht sich auf eine bestimmte Sphäre, die eine autonome Geschäftseinheit darstellt, die während der Analyse modelliert wird. Beispielsweise bezieht sich die Geschäftsdomäne Software auf den Themenbereich, auf den der Benutzer dieses Programm anwendet.
Annahmen
Die Beispiele und Diagramme in diesem Handbuch spiegeln die folgenden Annahmen wider:
-
Die Mainframe-Anwendung, die migriert wird, kann ein einzelnes Programm oder mehrere Programme ausführen. Der Einfachheit halber werden in den Diagrammen in diesem Handbuch zwei Programme und ein einzelnes Unterprogramm für jede Anwendung angezeigt.
-
Die Mainframe-Programme und Unterprogramme sind in COBOL geschrieben, und der Code wird auf Java migriertAWS. Sie können diese Entkopplungsmuster jedoch mit den Programmiersprachen Ihrer Wahl verwenden.
-
Das Migrationsmuster istveraltetes automatisiertes Refactoring, wo Code, Daten und Abhängigkeiten automatisch in eine moderne Sprache, einen Datenspeicher und ein modernes Framework konvertiert werden und gleichzeitig die funktionale Äquivalenz mit denselben Geschäftsfunktionen gewährleistet wird. Beim Refactoring werden automatisierte Tools verwendet, um die Mainframe-Programmiersprache (wie COBOL) in moderne Programmiersprachen (wie Java oder .NET) zu konvertieren.
-
Überarbeitete Anwendungen werden auf Containern bereitgestellt, die bereitgestellt und verwaltet werden vonAWS Fargate
. Fargate ist eine serverlose Computing-Engine für Container, die mit beidenAmazon Elastic Container Service (Amazon ECS) undAmazon Elastic Kubernetes Service (Amazon EKS) . Fargate macht es Ihnen leicht, sich auf die Erstellung Ihrer Anwendungen zu konzentrieren, da keine Server bereitgestellt und verwaltet werden müssen. -
Mainframe-Datenbanktabellen und Mainframe-Dateien werden mit der Anwendung migriert.
Code-Migrationszenarien
Aus Sicht der Code-Migration sind die zwei Haupttypen von Legacy-Mainframe-Anwendungen:
In den folgenden Abschnitten werden die Entkopplungsmuster für diese beiden Szenarien beschrieben.