Freigeben über


Rehosten von IMS DC und IMS DB in Azure mithilfe von Raincode IMSql

Azure Virtual Machine Scale Sets
Azure Logic Apps
Verwaltete Azure SQL-Instanz
Azure Virtual Network
Azure ExpressRoute

In dieser Architektur wird beschrieben, wie eine Workload für eine Mainframeanwendung des Informationsmanagementsystems (Information Management System, IMS) in Azure mithilfe von IMSql von Raincode implementiert wird. Die Migration einer IMS-Datenbankanwendung (DB) zu einer Cloud-nativen Lösung ist komplexer als die Migration einer relationalen DB-Anwendung. In diesem Artikel wird beschrieben, wie Sie eine Mainframe-IMS-Workload mit wichtigen IMS-Features und -Funktionen nahtlos in Azure neu hosten. Sie müssen Ihre vorhandene Anwendung nicht übersetzen oder ändern.

IMS DB/DC-Workload-Architektur vor der Migration

Diagramm, das die IMS DB/DC-Workload-Architektur vor der Migration zeigt.

Datenfluss

Der folgende Datenfluss entspricht dem vorherigen Diagramm:

  1. Benutzer stellen eine Verbindung zum Mainframe über das Transmission Control Protocol oder das Internetprotokoll her, indem sie Standard-Mainframe-Protokolle wie TN3270 und HTTPS verwenden.
  2. Transaktionsmanager interagieren mit Benutzern und rufen die Anwendung auf, um Benutzeranforderungen zu erfüllen.
  3. Im Frontend der Anwendungsschicht interagieren Benutzer mit IMS-Bildschirmen oder mit Webseiten.
  4. Der Anwendungscode nutzt die Speicherfunktionen der (hierarchischen) Back-End-Datenschicht der IMS-DB.
  5. Alle Offline-Big-Data-Vorgänge werden über Batch-Jobs ausgeführt.
  6. Neben der Transaktionsverarbeitung bieten andere Dienste Authentifizierung, Sicherheit, Verwaltung, Überwachung und Berichterstellung. Diese Dienste interagieren mit allen anderen Diensten im System.

IMSql-Architektur in Azure

Diagramm, das die IMSql-Architektur in Azure zeigt.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Arbeitsablauf

Der folgende Workflow entspricht dem vorherigen Diagramm:

  1. IMSql-Terminalserver

    Traditionell greifen On-Premises-Benutzer über ein IBM-internes Terminal oder über eine Terminal-Emulationssoftware auf die z/OS-Mainframe-Schnittstelle zu. Eine Anwendung, die über ein geografisch verteiltes Netzwerk mit Tausenden von Benutzern verfügt, kann über jede Art von Terminal eine Verbindung zu den Mainframes herstellen. Wenn eine IMS Data Communications (DC)-Anwendung auf dem verteilten cloudbasierten System neu gehostet wird, müssen Sie die Anwendung und die Ressource zentral hosten und für die Remoteclientgeräte veröffentlichen. Sie können IMSql-Terminalserver verwenden, um die Anwendung und Ressource in Azure zu hosten und zu veröffentlichen.

  2. SQL Server-Dienstbroker

    Im Mainframe orchestriert IMS DC die Kommunikationsschicht zwischen den Benutzerterminals und den Anwendungsprogrammen, indem es Nachrichten in einem Steuerungsbereich sendet und verarbeitet. Nach dem erneuten Hosten orchestriert der SQL Server Service Broker diese asynchrone Kommunikationsschicht. Der Service Broker ermöglicht die Kommunikation über sein Framework für die Nachrichtenübermittlung und skaliert Nachrichten auf separate Verarbeitungsserver, aktuelle Benutzer und deren Transaktionsverarbeitung.

  3. IMSql-Verarbeitungsserver

    Der Verarbeitungsserver führt den von Raincode neu kompilierten Code für die IMS-Programme in .NET Framework oder .NET Core aus. Es enthält die zugrunde liegende Infrastruktur, die es ermöglicht, dass die neu kompilierten Programme effektiv und mit der richtigen funktionalen Äquivalenz ausgeführt werden. Der IMSql-Verarbeitungsserver kann dynamische Abfragen generieren und gespeicherte Prozeduren in SQL Server aufrufen, die während der Neukompilierung von DL/I-Aufrufen (Data Language/One) erstellt werden.

  4. SQL Server als hierarchischer Datenspeicher

    Die Daten werden als hierarchische Daten im IMS gespeichert. IMSql verwendet das gleiche Modell in SQL Server. Mit diesem Modell kann IMSql die hohe Leistung relationaler Datenbanken nutzen und die hierarchischen Segmente von IMS logisch implementieren. Außerdem kann das System unabhängig mit Segmenten skaliert werden. Die Segmentdaten werden im EBCDIC-Rohformat gespeichert, sodass sie für die Anwendung nicht konvertiert werden müssen. Durch die Verwendung von SQL-PaaS (Platform-as-a-Service) kann IMSql die zugrunde liegenden Hochverfügbarkeits- und Notfallwiederherstellungsfunktionen von Azure nutzen.

  5. DL/I-Aufruf-API

    Die IMSql-API stellt sicher, dass die COBOL-IMS DL/I-Aufrufe (Common Business-Oriented Language) in äquivalente SQL-Abfragen übersetzt werden. Anschließend werden die Daten abgerufen und im erwarteten Format an das Anwendungsprogramm zurückgegeben. IMSql verfolgt auch die Programmposition auf dem Tabellendatensatz, um die Erstellungs-, Lese-, Aktualisierungs- und Löschvorgänge auszuführen, wie z. B. die hierarchische Datenbank. IMSql kann während der Kompilierung gespeicherte Prozeduren in SQL Server erstellen, um auf leistungsintensive DL/I-Aufrufe zu reagieren.

  6. Raincode JCL

    Raincode Job Control Language (JCL) ist ein Interpreter, der mit z/OS JCL kompatibel ist. Der Raincode JCL-Interpreter macht den Übergang von der komplexen Geschäftslogik, die in JCL eingebettet ist, zu den Azure- und .NET Core-Plattformen so reibungslos wie möglich. Raincode JCL wurde entwickelt, um Code auszuführen, der von den Raincode COBOL-, Programming Language One- (PL/I) und ASM370-Compilern kompiliert wurde. Es kann problemlos Schritte ausführen, die in den meisten Sprachen geschrieben sind. Sie können es konfigurieren und optimieren, indem Sie benutzerdefinierten Code implementieren, sodass Sie es an Ihre eigenen Anforderungen für die Batch-Planung anpassen können.

  7. IMSql-Datenansicht

    IMSql definiert relationale SQL-Ansichten basierend auf Copybooks oder Datensatzlayouts, sodass auf die IMS-Segmente über einfache SQL-Anweisungen von jedem Azure-Dienst und von neuen Anwendungen zugegriffen werden kann. IMSql-Ansichten sind auch beschreibbar, sodass moderne Anwendungen über SQL Server auf beide Arten mit IMS interagieren können.

Datenmigration über IMSql

Diagramm, das die Datenmigration über IMSql zeigt.

Migration von DB-Objekten

  • Die ursprüngliche IMS-DB-Datenbankbeschreibung (DBD) wird extrahiert und vom Mainframe übertragen. IMSql verwendet die DBD-Informationen, um SQL-Skripts zum Generieren einer Zieldatenbank und von Tabellen in Azure SQL zu erstellen.

  • Jedes Segment in einer IMS-DBD wird in Azure als Tabelle übersetzt.

  • Die Tabellen bestehen aus einem Schlüsselfeld, Suchfeldern und den vollständigen IMS-Segmentdaten, die in EBCDIC dargestellt werden.

  • Die IMS-Segmentbaumstruktur wird mit der Primär- und Fremdschlüsselbeziehung in Azure SQL-Tabellen beibehalten.

Erstes Laden von Daten

  • Die Daten aus IMS DB werden über einen Mainframe-Job und allgemein verfügbare Download-Dienstprogramme wie DFSRRC00 und DFSURGL0 extrahiert.

  • Sie können die extrahierten Binärdateien an Azure übertragen, indem Sie Azure Data Factory-Connectors wie FTP (File Transfer Protocol) und SFTP (Secure File Transfer Protocol) sowie eine Java-basierte Lösung verwenden, die auf Unix-Subsystemdiensten ausgeführt wird.

  • IMSql verfügt über ein integriertes Ladedienstprogramm zum Abschließen der ersten Datenladevorgänge. Dieses Tool verwendet das SQL Server Bulk Copy Program (bcp)-Hilfsprogramm. Es stellt sicher, dass bcp ausgeführt wird und dass die erforderliche referenzielle Integrität zwischen den Tabellen mit der erwarteten hierarchischen Struktur übereinstimmt.

  • Diese Migration adressiert ein einmaliges Laden von Daten aus IMS DB. Die Koexistenz und die damit verbundene Datensynchronisierung werden nicht behandelt.

Datenfluss für die Migration

Der folgende Datenfluss entspricht dem vorherigen Diagramm:

  1. Der nicht-relationale Mainframe-Datenspeicher (IMS DB) besteht aus zwei Komponenten: der DBD und den eigentlichen Segmentdaten.

  2. IBM Dienstprogramme extrahieren und entladen die IMS-DB-Informationen.

  3. Die DBD-Datei und die entsprechenden Binärdatendateien werden separat generiert.

  4. Datenaufnahme:

    1. Der Azure Data Factory-FTP-Connector kopiert Mainframe-IMS-Datasets in den Azure-Datenspeicher.
    2. Mainframe-IMS-Datendateien werden über SFTP in Azure Blob Storage kopiert.
    3. Mainframe JCL wird verwendet, um eine benutzerdefinierte Java-Lösung auszuführen, die Daten zwischen dem Mainframe-System und SFTP Blob Storage verschiebt.
  5. Durch die Verwendung der DBD-Datei erstellt IMSql die Zieldatenbank und die Zieltabellen unter Beibehaltung der erforderlichen referenziellen Integrität.

  6. Nachdem Datenobjekte erstellt wurden, lädt IMSql die Daten in sequenzieller Reihenfolge in die entsprechende Tabelle.

  7. Alle migrierten IMS-Daten werden in Azure SQL Managed Instance gehostet.

  8. Die Anwendungsdatenbank besteht aus den Rohsegmentdaten für die Verarbeitung von IMS online und der Batchverarbeitung.

  9. Die IMS-Lese- und Schreibansichten bestehen aus Segmentdaten, die basierend auf dem Copybook-Layout erweitert werden.

Migrieren von IMS-DB-Daten mit Raincode zBridge

Raincode zBridge erleichtert den Zugriff auf nicht relationale Mainframe-Daten in Azure, einschließlich Daten aus IMS/DB-Segmenten. Diese Daten werden in Azure SQL-Datenbanken für verteilte Anwendungen, Berichterstellung und Analysezwecke verfügbar.

IMS-Segmentdatendateien werden mit einem entsprechenden COBOL-Copybook oder PL/I-Include in zBridge importiert. Die Daten werden als SQL-Zeilen angezeigt, die numerische Mainframe-Typen in SQL-Typen konvertieren und Zeichenfolgen bei Bedarf in ASCII konvertieren. zBridge unterstützt auch komplexe Datenstrukturen.

Komponenten

Diese Architektur besteht aus den folgenden Azure-Clouddiensten. In den folgenden Abschnitten werden diese Dienste und ihre Rollen beschrieben.

  • Azure Logic Apps ist eine Cloudplattform, auf der Sie schnell leistungsstarke Integrationslösungen erstellen können. Mainframebenutzer sind mit 3270-Terminals und lokaler Konnektivität vertraut. Sie können den Logic Apps-Connector IBM 3270 verwenden, um auf IBM-Mainframe-Apps zuzugreifen und diese auszuführen. Im migrierten System interagieren sie mit Azure-Anwendungen über das öffentliche Internet oder eine private Verbindung, die über Azure ExpressRoute implementiert wird. Microsoft Entra ID bietet Authentifizierung.

  • Azure Virtual Network ist der Grundbaustein für Ihr privates Netzwerk in Azure. Virtual Network ermöglicht eine sicherere Kommunikation zwischen vielen Arten von Azure-Ressourcen, z. B. virtuellen Azure-Computern (VMs), sowie mit dem Internet und lokalen Netzwerken. Virtual Network ist wie ein herkömmliches Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben, bietet jedoch die Vorteile der Azure-Infrastruktur, z. B. Skalierbarkeit, Verfügbarkeit und Isolation.

  • ExpressRoute erweitert Ihre lokalen Netzwerke über eine private Verbindung, die von einem Konnektivitätsanbieter unterstützt wird, in die Microsoft Cloud. Sie können ExpressRoute verwenden, um Verbindungen mit Microsoft Cloud-Diensten wie Azure und Microsoft 365 herzustellen.

  • Azure Virtual Machine Scale Sets bieten eine automatisierte VM-Skalierung mit Lastenausgleich, die die Anwendungsverwaltung vereinfacht und die Verfügbarkeit erhöht.

  • SQL Managed Instance ist Teil des Azure SQL-Dienstportfolios. Es handelt sich um eine verwaltete, sicherere up-to-date-SQL-Instanz in der Cloud.

  • Microsoft Entra ID ist ein cloudbasierter Identitäts- und Zugriffsverwaltungsdienst für Unternehmen. Microsoft Entra Single Sign-On und Multifaktor-Authentifizierung helfen Benutzern, sich anzumelden und auf Ressourcen zuzugreifen, und schützen gleichzeitig vor Cybersicherheitsangriffen.

Alternativen

  • Sie können SQL Server auf einer Azure-VM als Alternative zu SQL Managed Instance verwenden. Wir empfehlen SQL Managed Instance in dieser Architektur aufgrund der Vorteile wie Hochverfügbarkeit, nahtlose Integration mit verschiedenen Azure-Diensten und Verwaltung der zugrunde liegenden Sicherheitspatches und Wartung.

  • Als Alternative zu Virtual Machine Scale Sets können Sie eine Azure-Architektur mit Einzel-VMs verwenden. Möglicherweise möchten Sie einzelne VMs für Workloads verwenden, die konstante Last- und Leistungsanforderungen haben und keine Skalierung erforderlich sind. In dieser Architektur wird Virtual Machine Scale Sets für typische IMS-Workloads verwendet.

Szenariodetails

Mainframe-OLTP-Systeme (Online Transaction Processing) können Millionen von Transaktionen für eine große Anzahl von Benutzern verarbeiten. IBM IMS ist ein robuster klassischer Mainframe-Transaktionsmanager, den Unternehmen für die Online-Transaktionsverarbeitung verwenden. Es besteht aus zwei Hauptkomponenten: der IMS-DC-Komponente und der zugrunde liegenden hierarchischen DBMS-IMS-DB-Komponente.

IMSql bietet eine Möglichkeit, IMS-basierte Workloads in Azure oder lokalen verteilten Implementierungen zu hosten, die auf SQL Server basieren. IMSql bietet eine ganzheitliche Lösung für die Ausführung einer IMS-Workload, einschließlich der App-, Daten- und Middlewarekomponenten. Es kann die hierarchischen Datenstrukturen (IMS DB) in einem relationalen Datenmodell in SQL Server, SQL Server auf Azure Virtual Machines und SQL Managed Instance erfassen. Es verfügt über integrierte APIs für DL/I-Aufrufe des IMS-Anwendungsprogramms und erweitert die Datenschicht über die hierarchische Arbeitslast hinaus auf Cloud-native Apps, die für relationale Daten verwendet werden.

Diese Lösung bietet die folgenden Vorteile:

  • Es modernisiert die Infrastruktur und reduziert die hohen Kosten, Einschränkungen und Steifigkeiten, die mit monolithischen Mainframe-IMS-Workloads verbunden sind.

  • Es reduziert technische Schulden durch die Implementierung von Cloud-nativen Lösungen und DevOps.

  • Es sendet IMS-DB-Daten an Cloud-basierte Anwendungen, die keinen Mainframe verwenden, einschließlich KI- und Analyseanwendungen.

Potenzielle Anwendungsfälle

Diese Lösung kann für folgende Aufgaben nützlich sein:

  • Banken, Finanzen, Versicherungen, Behörden und Einzelhandel, die Mainframe IMS verwenden. Viele dieser Organisationen führen ihre primären OLTP- und Batchanwendungen auf IMS DB/DC aus.

  • IBM zSeries-Mainframe-Kunden, die geschäftskritische Anwendungen migrieren müssen. Diese Kunden möchten die Kontinuität mit anderen lokalen Anwendungen aufrechterhalten und die Auswirkungen einer vollständigen Neuentwicklung vermeiden.

Überlegungen

Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit trägt dazu bei, dass Ihre Anwendung die Verpflichtungen erfüllen kann, die Sie für Ihre Kunden vornehmen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Zuverlässigkeit.

  • Sie können diese OLTP-Architektur in mehreren Regionen bereitstellen und eine Datenschicht für die Georeplikation integrieren.

  • Die Azure DB-Dienste unterstützen Zonenredundanz und können bei Ausfällen oder zum Aktivieren von Wartungsaktivitäten ein Failover auf einen sekundären Knoten ausführen.

Sicherheit

Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Sicherheit.

  • ExpressRoute bietet eine private und effiziente Verbindung mit Azure aus der lokalen Umgebung.

  • Sie können die Microsoft Entra ID verwenden, um Azure-Ressourcen zu authentifizieren. Sie können die rollenbasierte Zugriffssteuerung verwenden, um Berechtigungen zu verwalten.

  • Bei dieser Lösung wird eine Azure-Netzwerksicherheitsgruppe verwendet, um den Datenverkehr zwischen Azure-Ressourcen zu verwalten. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen.

  • Die folgenden Sicherheitsoptionen sind in Azure DB-Diensten verfügbar:

    • Datenverschlüsselung ruhender Daten
    • Dynamische Datenmaskierung
    • Always Encrypted-Daten

Allgemeine Anleitungen zum Entwerfen hochsicherer Datenlösungen finden Sie unter Sicherheit für SQL Server-Datenbank-Engine und Azure SQL-Datenbank.

Kostenoptimierung

Die Kostenoptimierung konzentriert sich auf Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.

  • VM-Skalierungsgruppen optimieren die Kosten, indem sie die Anzahl unnötiger Hardwareinstanzen minimieren, die Ihre Anwendung ausführen, wenn die Nachfrage gering ist.

  • SQL Managed Instance bietet verschiedene Tarife, z. B. „Universell“ und „Unternehmenskritisch“, um Kosten basierend auf Nutzung und geschäftlicher Bedeutung zu optimieren.

  • Azure-Reservierungen und ein Azure-Sparplan für Compute mit einem Ein- oder Dreijahresvertrag bieten erhebliche Einsparungen im Vergleich zu Preisen mit nutzungsbasierter Bezahlung. In vielen Fällen können Sie Ihre Kosten weiter senken, indem Sie die Größenflexibilität für reservierte Instanzen implementieren.

  • Der Azure-Hybridvorteil ist ein Lizenzierungsvorteil, mit dem Sie die Kosten für die Ausführung Ihrer Workloads in der Cloud erheblich senken können. Sie können Ihre lokalen Software Assurance-fähigen Windows Server- und SQL Server-Lizenzen in Azure verwenden.

Verwenden Sie den Azure-Preisrechner, um die Kosten für die Implementierung dieser Lösung abschätzen zu können. Hier ist eine Schätzung, die auf den Komponenten dieser Lösung in einem vernünftigen Maßstab basiert.

Leistungseffizienz

Die Leistungseffizienz bezieht sich auf die Fähigkeit Ihrer Workload, die Anforderungen der Benutzer effizient zu erfüllen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Leistungseffizienz.

  • VM-Skalierungsgruppen stellen sicher, dass genügend VMs verfügbar sind, um unternehmenskritische Anforderungen an die Online- und Batchverarbeitung zu erfüllen.

  • Blob Storage ist ein skalierbares System zum Speichern von Sicherungen, Archivdaten, sekundären Datendateien und anderen unstrukturierten digitalen Objekten.

  • Der Datenbankoptimierungsratgeber analysiert Datenbankdatenbanken und gibt Empfehlungen, die Sie zur Optimierung der Abfrageleistung verwenden können. Sie können den Datenbankoptimierungsratgeber verwenden, um einen optimalen Satz von Indizes, indizierten Sichten oder Tabellenpartitionen auszuwählen und zu erstellen.

  • Skalierbarkeit ist eine der wichtigsten Eigenschaften von PaaS. Damit können Sie Ihrem Dienst bei Bedarf dynamisch Ressourcen hinzufügen. Sie können SQL-Datenbank verwenden, um die Ressourcen, z. B. CPU-Leistung, Arbeitsspeicher, Eingabe-/Ausgabedurchsatz und Speicher, die Ihren Datenbanken zugeordnet sind, einfach zu ändern. Sie können SQL Managed Instance verwenden, um Ihrer Datenbank dynamisch Ressourcen mit minimaler Ausfallzeit hinzuzufügen.

  • In-Memory OLTP ist eine Technologie, die in SQL Server und SQL-Datenbank verfügbar ist, um die Leistung der Transaktionsverarbeitung, der Datenerfassung, des Datenladens und vorübergehender Datenszenarien zu optimieren.

Beitragende

Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.

Hauptautoren:

Andere Mitwirkende:

Um nichtöffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.

Nächste Schritte

Weitere Informationen erhalten Sie unter Azure Data Engineering – Mainframemodernisierung.

Sehen Sie sich die Begleitarchitektur an:

Weitere zugehörige Ressourcen: