Bearbeiten

Freigeben über


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

Skalierungsgruppen für virtuelle Azure-Computer
Azure Logic Apps
Verwaltete Azure SQL-Instanz
Azure Virtual Network
Azure ExpressRoute

Diese Architektur beschreibt die Implementierung der Workload einer IMS-Mainframeanwendung (Information Management System) in Azure unter Verwendung von IMSql von Raincode. Das Migrieren einer IMS-Datenbankanwendung (DB) in eine cloudnative Lösung ist komplexer als das Migrieren einer relationalen Datenbankanwendung. In diesem Artikel wird beschrieben, wie Sie eine IMS-Workload auf einem Mainframe, die wichtige IMS-Features und -Funktionen umfasst, problemlos in Azure rehosten können. Sie müssen Ihre vorhandene Anwendung nicht übersetzen oder ändern.

IMS DB/DC-Workloadarchitektur, vor der Migration

Diagramm der IMS DB/DC-Workloadarchitektur vor der Migration.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Benutzer stellen über TCP/IP eine Verbindung mit dem Mainframe her und verwenden dabei Mainframestandardprotokolle wie TN3270 und HTTPS.
  2. Transaktions-Manager interagieren mit Benutzern und rufen die Anwendung auf, um Benutzeranforderungen zu erfüllen.
  3. Am Front-End der Anwendungsebene interagieren Benutzer mit IMS-Bildschirmen oder -Webseiten.
  4. Der Anwendungscode verwendet die Speicherfunktionen der Back-End-Datenebene von IMS DB (hierarchisch).
  5. Alle Big Data-Offlinevorgänge erfolgen über Batchaufträge.
  6. Neben der Transaktionsverarbeitung bieten weitere Dienste Aspekte wie Authentifizierung, Sicherheit, Verwaltung, Überwachung und Berichterstellung. Diese Dienste interagieren mit allen anderen Diensten im System.

IMSql-Architektur in Azure

Diagramm der IMSql-Architektur in Azure.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

  1. IMSql Terminal Server

    Üblicherweise erfolgt der Zugriff auf die z/OS-Schnittstelle des Mainframes über ein IBM-internes Terminal oder eine Terminalemulationssoftware. Eine Anwendung mit einem geografisch verteilten Netzwerk mit Tausenden von Benutzern kann sich über jede Art von Terminal mit den Mainframes verbinden. Wenn das Rehosten der IMS Data Communications-Anwendung (DC) im verteilten cloudbasierten System erfolgt, müssen Sie die Anwendung und die Ressourcen zentral hosten und für die Geräte der Remoteclients veröffentlichen. Sie können diese Aufgaben in Azure mithilfe von IMSql Terminal Server-Instanzen ausführen.

  2. SQL Server Service Broker

    Im Mainframe orchestriert IMS DC die Kommunikationsschicht zwischen den Benutzerterminals und den Anwendungsprogrammen, indem es Nachrichten in eine Steuerregion überträgt und dort verarbeitet. Nach dem Rehosten orchestriert SQL Server Service Broker diese Schicht für die asynchrone Kommunikation. Service Broker hilft bei der Kommunikation durch sein Framework für die Nachrichtenzustellung und skaliert Nachrichten auf separate Verarbeitungsserver, aktuelle Benutzer und deren Transaktionsverarbeitung auf.

  3. IMSql Processing Server

    Der Processing Server führt den von Raincode rekompilierten Code für die IMS-Programme in .NET Framework oder .NET Core aus. Er enthält die zugrunde liegende Infrastruktur, die die rekompilierten Programme effektiv und mit der erforderlichen funktionalen Äquivalenz ausführt. IMSql Processing Server kann dynamische Abfragen generieren und gespeicherte SQL-Prozeduren aufrufen, die bei der Rekompilierung von DL/I-Aufrufen erstellt werden.

  4. SQL Server als hierarchischer Datenspeicher

    Daten werden in IMS hierarchisch gespeichert. IMSql verwendet dasselbe Modell für SQL Server. Dieses Modell ermöglicht IMSql, die hohe Leistung relationaler Datenbanken zu nutzen und die hierarchischen Segmente von IMS logisch zu implementieren. Es ermöglicht auch, dass das System unabhängig von Segmenten skaliert werden kann. Die Segmentdaten werden im unformatierten EBCDIC-Format gespeichert, sodass sie für die Anwendung nicht konvertiert werden müssen. Mithilfe von SQL Platform as a Service (PaaS) kann IMSql die zugrunde liegenden Funktionen für Hochverfügbarkeit und Notfallwiederherstellung nutzen, die von Azure geboten werden.

  5. DL/I-Aufruf-API

    Die IMSql-API sorgt dafür, dass die COBOL-IMS-DL/I-Aufrufe in entsprechende SQL-Abfragen übersetzt werden. Anschließend ruft es die Daten ab und gibt sie im erwarteten Format an das Anwendungsprogramm zurück. IMSql verfolgt auch die Programmposition im Tabellendatensatz, um Erstellungs-, Lese-, Aktualisierungs- und Löschvorgänge (CRUD) wie die hierarchische Datenbank auszuführen. IMSql kann gespeicherte SQL-Prozeduren während der Kompilierung erstellen, um auf leistungsintensive DL/I-Aufrufe zu reagieren.

  6. Raincode JCL

    Raincode Job Control Language (JCL) ist ein mit z/OS JCL kompatibler Interpreter. Der Raincode JCL-Interpreter gestaltet den Übergang von der komplizierten, in JCL eingebetteten Geschäftslogik zur Azure- und .NET Core-Plattform so reibungslos wie möglich. Raincode JCL wurde entwickelt, um Code auszuführen, der mit den Raincode COBOL-, PL/I- und ASM370-Compilern kompiliert wurde. Die Lösung kann problemlos Schritte ausführen, die in praktisch jeder Sprache geschrieben wurden. Sie kann mit vom Benutzer geschriebenem Code konfiguriert und optimiert werden, sodass Sie sie an Ihre eigenen Bedürfnisse für die Batchplanung anpassen können.

  7. IMSql-Datensicht

    IMSql definiert relationale SQL-Sichten auf Grundlage von Copybooks (Datensatzlayouts), sodass beliebige Azure-Dienste und neue Anwendungen über einfache SQL-Anweisungen auf die IMS-Segmente zugreifen können. IMSql-Sichten lassen einen Schreibzugriff zu, sodass moderne Anwendungen über SQL Server auf beide Arten mit IMS interagieren können.

Datenmigration über IMSql

Diagramm der Datenmigration über IMSql.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Migration von Datenbankobjekten

  • 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 als Tabelle in Azure übersetzt.
  • Die Tabellen bestehen aus einem Schlüsselfeld, Suchfeldern und den vollständigen in EBCDIC dargestellten IMS-Segmentdaten.
  • Die IMS-Segmentstruktur wird mithilfe der Primär- und Fremdschlüsselbeziehung in Azure SQL-Tabellen beibehalten.

Anfängliches Laden von Daten

  • Die Daten werden aus IMS DB über einen Mainframeauftrag und allgemein verfügbare Hilfsprogramme wie DFSRRC00 und DFSURGL0 extrahiert.
  • Sie können die extrahierten Binärdateien mithilfe von Azure Data Factory-Connectors wie FTP und SFTP und einer Java-basierten Lösung, die in Unix Subsystem Services (USS) läuft, in Azure übertragen.
  • IMSql bietet ein integriertes Ladehilfsprogramm zum Abschließen der anfänglichen Datenladevorgänge. Dieses Tool verwendet das SQL Server-Hilfsprogramm zum Massenkopieren (bcp). Es gewährleistet die Ausführung von bcp und die erforderliche referentielle Integrität zwischen den Tabellen, um die erwartete hierarchische Struktur sicherzustellen.
  • Bei dieser Migration geht es um ein einmaliges Laden von Daten aus IMS DB, nicht um Koexistenz und die damit verbundene Datensynchronisierung.

Dataflow für die Migration

  1. Der nicht-relationale Datenspeicher (IMS DB) des Mainframes verfügt über zwei Komponenten: die DBD und die tatsächlichen Segmentdaten.
  2. IBM-Hilfsprogramme extrahieren und entladen die IMS DB-Informationen.
  3. Die DBD-Datei und entsprechenden Binärdatendateien werden separat generiert.
  4. Datenerfassung:
    1. Der FTP-Connector für Data Factory kopiert IMS-Datasets auf dem Mainframe in Azure-Datenspeicher.
    2. IMS-Datendateien auf dem Mainframe 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 Mainframesystem und SFTP Azure Blob Storage überträgt.
  5. Mithilfe der DBD-Datei erstellt IMSql die Zieldatenbank und -tabellen mit der erforderlichen referentiellen 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 rohen Segmentdaten für die IMS-Online- und -Batchverarbeitung.
  9. Die IMS-Lese-/Schreibsichten bestehen aus Segmentdaten, die basierend auf dem Copybooklayout erweitert werden.

Komponenten

  • Azure Logic Apps ermöglichen im Handumdrehen das Entwickeln leistungsstarker Integrationslösungen. Mainframebenutzer sind mit 3270-Terminals und lokaler Konnektivität vertraut. Sie können den IBM 3270-Connector von Logic Apps verwenden, um auf IBM-Mainframe-Apps zuzugreifen und diese auszuführen. Im migrierten System interagieren sie mit Azure-Anwendungen über das öffentliche Internet oder über eine private, über Azure ExpressRoute implementierte Verbindung. Microsoft Entra ID bietet Authentifizierung.
  • Azure Virtual Network ist der Grundbaustein für Ihr privates Netzwerk in Azure. Mit Virtual Network können zahlreiche Arten von Azure-Ressourcen wie Azure-VMs mit verbesserter Sicherheit miteinander sowie mit dem Internet und lokalen Netzwerken kommunizieren. Virtual Network ist wie ein herkömmliches Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben, bietet aber die Vorteile der Azure-Infrastruktur wie Skalierbarkeit, Verfügbarkeit und Isolation.
  • Mit ExpressRoute können Sie Ihre lokalen Netzwerke über eine private Verbindung, die von einem Konnektivitätsanbieter bereitgestellt wird, auf die Cloud von Microsoft ausdehnen. Sie können ExpressRoute verwenden, um Verbindungen mit Microsoft Cloud-Diensten wie Azure und Office 365 herzustellen.
  • Azure Virtual Machine Scale Sets ermöglicht eine automatisierte VM-Skalierung mit Lastenausgleich, die die Verwaltung Ihrer Anwendungen vereinfacht und die Verfügbarkeit erhöht.
  • SQL Managed Instance ist Teil des Azure SQL-Dienstportfolios und eine verwaltete, überaus sichere und stets aktuelle SQL-Instanz in der Cloud.
  • Microsoft Entra ID ist ein cloudbasierter Identitäts- und Zugriffsverwaltungsdienst für Unternehmen. Einmaliges Anmelden und Multi-Faktor-Authentifizierung von Microsoft Entra unterstützen Benutzer*innen bei der Anmeldung und beim Zugriff auf Ressourcen und schützen gleichzeitig vor Angriffen auf die Cybersicherheit.

Alternativen

  • Sie können SQL Server auf einem virtuellen Azure-Computer 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 Einzel-VMs für Workloads einsetzen, die konstante Last- und Leistungsanforderungen haben und nicht skaliert werden müssen. In dieser Architektur wird Virtual Machine Scale Sets für typische IMS-Workloads verwendet.

Szenariodetails

OLTP-Systeme auf Mainframes können Millionen von Transaktionen für eine sehr große Anzahl von Benutzern verarbeiten. IBM IMS ist ein zuverlässiger klassischer Transaktions-Manager für Mainframes, der von Großunternehmen für die Verarbeitung von Onlinetransaktionen eingesetzt wird. Er hat zwei Hauptkomponenten: die Komponente IMS DC und die zugrunde liegende hierarchische Komponente DBMS IMS DB.

IMSql ermöglicht das Hosten von IMS-basierten Workloads in Azure oder in lokalen verteilten Implementierungen, die auf SQL Server basieren. IMSql bietet eine ganzheitliche Lösung für die Ausführung einer IMS-Workload, einschließlich App-, Daten- und Middlewarekomponenten. Sie kann die hierarchische (IMS DB-) Datenstruktur in einem relationalen Datenmodell in SQL Server, SQL Server auf Azure Virtual Machines und SQL Managed Instance erfassen. Die Lösung verfügt über integrierte APIs für DL/I-Aufrufe von IMS-Anwendungsprogrammen und erweitert die Datenebene über die hierarchische Workload hinaus auf cloudnative Apps für relationale Daten.

Diese Lösung bietet die folgenden Vorteile:

  • Modernisieren der Infrastruktur und Reduzieren der hohen Kosten, Einschränkungen und Unflexibilität, womit monolithischen IMS-Workloads auf Mainframes in Verbindung gebracht werden
  • Reduzieren technischer Schulden, indem cloudnative Lösungen und DevOps implementiert werden
  • Bereitstellen von IMS DB-Daten für Nicht-Mainframe- und cloudbasierte Anwendungen, einschließlich KI- und Analyseanwendungen

Mögliche Anwendungsfälle

  • Branchen wie Bank-, Finanz- und Versicherungswesen, Behörden und Einzelhandel, die Mainframe IMS einsetzen. Viele dieser Organisationen führen ihre primären OLTP- und Batchanwendungen in IMS DB/DC aus.
  • Kunden von IBM zSeries-Mainframes, die unternehmenskritische Anwendungen migrieren und dabei Kontinuität mit anderen lokalen Anwendungen aufrechterhalten müssen und die Nebenwirkungen einer kompletten Neuentwicklung vermeiden möchten.

Überlegungen

Diese Überlegungen implementieren die Säulen des Azure Well-Architected-Frameworks, das eine Reihe von leitden Tenets ist, die verwendet werden können, um die Qualität einer Workload zu verbessern. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für Zuverlässigkeit.

  • Diese OLTP-Architektur kann in mehreren Regionen bereitgestellt werden und eine georeplizierte Datenebene integrieren.
  • Die Azure-Datenbankdienste unterstützen Zonenredundanz und können bei einem Ausfall oder zum Ermöglichen von Wartungsarbeiten ein Failover auf einen sekundären Knoten durchführen.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für sicherheitsrelevante.

  • ExpressRoute bietet eine private und effiziente Verbindung mit Azure aus der lokalen Umgebung.
  • Sie können Microsoft Entra ID verwenden, um Azure-Ressourcen zu authentifizieren. Sie können Berechtigungen über die rollenbasierte Zugriffssteuerung verwalten.
  • Bei dieser Lösung wird eine Azure-Netzwerksicherheitsgruppe verwendet, um den Datenverkehr zwischen Azure-Ressourcen zu verwalten. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen.
  • Diese Sicherheitsoptionen sind in Azure-Datenbankdiensten verfügbar:
    • Datenverschlüsselung ruhender Daten
    • Dynamische Datenmaskierung
    • Always Encrypted-Daten

Allgemeine Informationen zum Entwerfen überaus sicherer Datenlösungen finden Sie in den Empfehlungen zur Azure-Sicherheit.

Kostenoptimierung

Bei der Kostenoptimierung geht es um Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Prüfliste für die Überprüfung der Kostenoptimierung.

  • Virtual Machine Scale Sets optimiert die Kosten, indem die Anzahl unnötiger Hardware-Instanzen minimiert wird, die Ihre Anwendung bei geringer Nachfrage ausführen.
  • SQL Managed Instance bietet verschiedene Tarife, z. B. „Universell“ und „Unternehmenskritisch“, um Kosten basierend auf Nutzung und geschäftlicher Bedeutung zu optimieren.
  • Azure Reservations und Azure-Sparplan für Compute mit einem Ein- oder Dreijahresvertrag bieten erhebliche Einsparungen im Vergleich mit nutzungsbasierten Preisen. In vielen Fällen können Sie die Kosten weiter senken, indem Sie die Größenflexibilität reservierter Instanzen implementieren.
  • Mit dem Azure-Hybridvorteil können Sie die Kosten für das Ausführen Ihrer Workloads in der Cloud beträchtlich senken. Hierbei können Sie Ihre lokalen Windows Server- und SQL Server-Lizenzen mit Software Assurance-Aktivierung in Azure nutzen.

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 basiert, in einem vernünftigen Maßstab.

Leistungseffizienz

Die Leistungseffizienz ist die Fähigkeit Ihrer Arbeitsauslastung, um die Anforderungen zu erfüllen, die die Benutzer auf effiziente Weise an sie stellen. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für die Leistungseffizienz.

  • Virtual Machine Scale Sets stellt sicher, dass genügend VMs zur Verfügung stehen, um unternehmenskritische Online- und Batchverarbeitungsanforderungen zu erfüllen.
  • Azure Blob Storage ist ein skalierbares System zum Speichern von Sicherungen, Archivdaten, sekundären Datendateien und anderen unstrukturierten digitalen Objekten.
  • Der Datenbankoptimierungsratgeber (DTA) analysiert Datenbanken und gibt Empfehlungen zum Optimieren der Abfrageleistung. Mit dem Datenbankoptimierungsratgeber können Sie einen optimalen Satz von Indizes, indizierten Sichten oder Tabellenpartitionen auswählen und erstellen.
  • Skalierbarkeit ist eines der wichtigsten Merkmale von PaaS. Sie ermöglicht Ihnen, Ihren Dienst dynamisch um Ressourcen zu erweitern, sobald diese benötigt werden. Mit Azure SQL-Datenbank können Sie Ressourcen (CPU-Leistung, Arbeitsspeicher, E/A-Durchsatz und Speicher), die Ihren Datenbanken zugeordnet sind, leicht ändern. Mit SQL Managed Instance können Sie Ihrer Datenbank bei minimaler Ausfallzeit dynamisch Ressourcen hinzufügen.
  • In-Memory-OLTP ist eine in SQL Server und SQL-Datenbank verfügbare Datenbanktechnologie für die Optimierung der Transaktionsverarbeitung, des Erfassens und Ladens von Daten sowie vorübergehender Datenszenarien.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte

Wenden Sie sich an das Team Azure Data Engineering – Mainframe Modernization, um weitere Informationen zu erhalten.

Sehen Sie sich die Begleitarchitektur an:

Weitere zugehörige Ressourcen: