Bearbeiten

IBM z/OS-Onlinetransaktionsverarbeitung in Azure

Azure Front Door
Azure Traffic Manager
Azure Kubernetes Service (AKS)
Azure Spring Apps
Azure Cache for Redis

OLTP-Systeme (Online Transaction Processing, Onlinetransaktionsverarbeitung) interagieren direkt mit Benutzern und sind das „Gesicht“ des Unternehmens. Mit einer dynamisch anpassbaren Infrastruktur können Unternehmen ihre Produkte schnell realisieren und einführen, um ihre Benutzer zu begeistern.

Aufbau

Das folgende Diagramm zeigt die Architektur der zu migrierenden Workload – ein in einem z/OS-Mainframe ausgeführtes OLTP-System:

OLTP-Architektur in z/OS

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

Der folgende Workflow entspricht dem vorherigen Diagramm:

  1. Benutzer stellen über TCP/IP eine Verbindung mit dem Mainframe her und verwenden dabei Standardmainframeprotokolle wie TN3270 und HTTPS.
  2. Die Transaktions-Manager interagieren mit den Benutzern und rufen die Anwendung auf, um Benutzeranforderungen zu erfüllen.
  3. Am Front-End der Anwendungsschicht interagieren Benutzer mit den CICS/IMS-Bildschirmen oder mit Webseiten.
  4. Die Transaktions-Manager verwenden die in COBOL oder PL/1 geschriebene Geschäftslogik, um die Transaktionen zu implementieren.
  5. Anwendungscode verwendet Speicherfunktionen der Datenschicht (in der Regel DB2, IMS DB oder VSAM).
  6. Neben der Transaktionsverarbeitung bieten weitere Dienste Aspekte wie Authentifizierung, Sicherheit, Verwaltung, Überwachung und Berichterstellung. Diese Dienste interagieren mit allen anderen Diensten im System.

Hier erfahren Sie, wie Sie diese Architektur zu Azure migrieren.

Darstellung einer Architektur für die Migration eines z/OS OLTP-Workload in Azure.

Laden Sie eine Visio-Datei dieser Architektur herunter.

  1. Mainframebenutzer sind mit 3270-Terminals und lokaler Konnektivität vertraut. Im migrierten System interagieren sie mit Azure-Anwendungen über das öffentliche Internet oder über eine private, mit Azure ExpressRoute implementierte Verbindung. Microsoft Entra ID bietet Authentifizierung.

  2. Eingehende Anforderungen werden an einen globalen Lastenausgleichsdienst wie Azure Front Door oder Azure Traffic Manager gesendet. Der Lastenausgleich kann eine geografisch verteilte Benutzerbasis bedienen. Er leitet die Anforderungen gemäß den Regeln weiter, die für die unterstützten Workloads definiert wurden. Diese Lastenausgleichsmodule können sich zwecks Lastenausgleich für die Anwendungsschicht mit Azure Application Gateway oder Azure Load Balancer abstimmen. Vom Azure Content Delivery Network-Dienst werden statische Inhalte auf Edgeservern zwischengespeichert, um eine schnelle Reaktion zu ermöglichen. Zum Schutz wird der WAF-Dienst (Web Application Firewall) verwendet.

  3. Das Front-End der Anwendungsschicht verwendet Azure-Dienste wie Azure App Service, um Anwendungsbildschirme zu implementieren und mit Benutzern zu interagieren. Bei den Bildschirmen handelt es sich um migrierte Versionen der Mainframebildschirme.

  4. Die Geschäftslogik wird durch COBOL- und PL/1-Code im Back-End der Anwendungsschicht implementiert. Der Code kann Dienste wie Azure Functions, WebJobs und Azure Spring Apps-Microservices nutzen. Anwendungen können in einem AKS-Container (Azure Kubernetes Service) ausgeführt werden.

  5. Ein In-Memory-Datenspeicher beschleunigt OLTP-Anwendungen mit hohem Durchsatz. Ein Beispiel für einen solchen Speicher ist In-Memory-OLTP (ein Feature von Azure SQL-Datenbank und Azure SQL Managed Instance). Ein anderes Beispiel ist Azure Cache for Redis.

  6. Die Datenschicht kann beispielsweise Folgendes umfassen:

    1. Dateien, Tabellen und Blobs – implementiert mithilfe von Azure Storage-Diensten
    2. Relationale Datenbanken aus der Azure SQL-Familie
    3. Azure-Implementierungen der Open-Source-Datenbanken PostgreSQL und MySQL
    4. Azure Cosmos DB – eine NoSQL-Datenbank

    Diese Speicher enthalten Daten, die vom Mainframe für die Verwendung durch die Anwendungsschicht migriert wurden.

  7. Native Azure-Dienste wie Application Insights und Azure Monitor überwachen proaktiv die Integrität des Systems. Die Monitor-Protokolle können mithilfe eines Azure-Dashboards integriert werden.

Komponenten

Diese Architektur besteht aus mehreren Azure-Cloud-Services und ist in vier Ressourcenkategorien unterteilt: Netzwerk und Identität, Anwendung, Speicher und Überwachung. Die Dienste für jede von ihnen und ihre Rollen werden in den folgenden Abschnitten beschrieben.

Netzwerk und Identität

  • Azure ExpressRoute stellt private Verbindungen zwischen lokaler Infrastruktur und Azure-Rechenzentren bereit.
  • Microsoft Entra ID ist ein Identitäts- und Zugriffsverwaltungsdienst, der mit einem lokalen Verzeichnis synchronisiert werden kann.
  • Azure Front Door bietet globalen HTTP-Lastenausgleich mit sofortigem Failover. Die verfügbare Zwischenspeicherungsoption kann die Übermittlung statischer Inhalte beschleunigen.
  • Azure Traffic Manager leitet eingehende DNS-Anforderungen basierend auf den von Ihnen gewählten Routingmethoden für Datenverkehr weiter.
  • Azure Web Application Firewall trägt dazu bei, Web-Apps vor Angriffen und allgemeinen Websicherheitsrisiken wie Einschleusung von SQL-Befehlen und Cross-Site Scripting zu schützen.
  • Azure Content Delivery Network (CDN) speichert statische Inhalte auf Edgeservern zwischen, um eine schnelle Reaktion zu ermöglichen, und verwendet Netzwerkoptimierungen, um die Reaktion für dynamische Inhalte zu verbessern. CDN ist besonders bei einer globalen Benutzerbasis nützlich.
  • Azure Application Gateway ist ein Controllerdienst für die Anwendungsbereitstellung. Er arbeitet auf der Anwendungsschicht (Layer 7) und verfügt über verschiedene Lastenausgleichsfunktionen.
  • Azure Load Balancer ist ein Layer-4-Lastenausgleich (TCP, UDP). In dieser Architektur bietet er Lastenausgleichsoptionen für Spring Apps und AKS.

Anwendung

  • Azure API Management unterstützt Sie beim Veröffentlichen, beim Routing, beim Schutz, bei der Protokollierung und bei der Analyse von APIs. Sie können steuern, wie die Daten dargestellt und erweitert werden und welche Apps darauf zugreifen können. Sie können den Zugriff auf Ihre Apps beschränken oder für Dritte zulassen.
  • Azure App Service ist ein vollständig verwalteter Dienst zum Erstellen, Bereitstellen und Skalieren von Web-Apps. Sie können Apps mit .NET, .NET Core, Node.js, Java, Python oder PHP erstellen. Die Apps können in Containern oder unter Windows oder Linux ausgeführt werden. Bei einer Mainframemigration können die Front-End-Bildschirme oder Weboberflächen als HTTP-basierte REST-APIs programmiert werden. Sie können nach Mainframeanwendung getrennt werden und zustandslos sein, um ein auf Microservices basierendes System zu orchestrieren.
  • WebJobs ist ein Feature von Azure App Service, durch das ein Programm oder Skript in der gleichen Instanz ausgeführt wird wie eine Web-App, API-App oder mobile App. Ein Webauftrag ist ggf. eine gute Wahl für die Implementierung von freigeb- und wiederverwendbarer Programmlogik. Technische Informationen finden Sie unter Ausführen von Hintergrundaufgaben mit WebJobs in Azure App Service.
  • Azure Kubernetes Service (AKS) ist ein vollständig verwalteter Kubernetes-Dienst für die Bereitstellung und Verwaltung von containerisierten Anwendungen. AKS vereinfacht die Bereitstellung eines verwalteten AKS-Clusters in Azure, indem der betriebliche Aufwand in Azure ausgelagert wird.
  • Azure Spring Apps ist ein vollständig verwalteter Spring-Dienst, der gemeinsam von Microsoft und VMware erstellt und betrieben wird. Damit können Sie mühelos Spring-Microservices bereitstellen, verwalten und ausführen sowie Spring-Anwendungen mit Java oder .NET schreiben.
  • Azure Service Bus ist ein zuverlässiger Cloudmessagingdienst für einfache Hybridintegrationen. Service Bus- und Storage-Warteschlangen können das Front-End mit der Geschäftslogik im migrierten System verbinden.
  • Azure Functions stellt eine Umgebung zum Ausführen kleiner Codeteile bereit, die als Funktionen bezeichnet werden, ohne dass eine Anwendungsinfrastruktur eingerichtet werden muss. Sie können damit Massendaten verarbeiten, Systeme integrieren, mit IoT arbeiten und einfache APIs und Microservices erstellen. Mit Microservices können Sie Server erstellen, die eine Verbindung mit Azure-Diensten herstellen und immer auf dem neuesten Stand sind.
  • Azure Cache for Redis ist ein vollständig verwalteter In-Memory-Cachedienst für die gemeinsame Nutzung von Daten und Zuständen durch Computeressourcen. Er umfasst sowohl die Open-Source-Lösung Redis (OSS Redis) als auch ein kommerzielles Produkt von Redis Labs (Redis Enterprise) als verwalteten Dienst. Sie können die Leistung von OLTP-Anwendungen mit hohem Durchsatz verbessern, indem Sie sie so gestalten, dass sie skalierbar sind und einen In-Memory-Datenspeicher wie Azure Cache for Redis nutzen.

Storage

Überwachung

  • Azure Monitor sammelt, analysiert und verarbeitet persönliche Daten aus Azure und Ihren lokalen Umgebungen.
  • Log Analytics ist ein Tool im Azure-Portal und wird verwendet, um Monitor-Protokolle mit einer leistungsstarken Abfragesprache abzufragen. Sie können interaktiv mit den Ergebnissen Ihrer Abfragen arbeiten oder sie mit anderen Azure Monitor-Features wie Protokollabfragewarnungen oder Arbeitsmappen verwenden. Weitere Informationen finden Sie unter Übersicht über Log Analytics in Azure Monitor.
  • Application Insights ist ein Feature von Monitor, das die Überwachung der Anwendungsnutzung, Verfügbarkeit und Leistung auf Codeebene ermöglicht. Es überwacht die Anwendung, erkennt Anwendungsanomalien wie mittelmäßige Leistung und Fehler und sendet persönliche Daten an das Azure-Portal. Application Insights kann auch zur Protokollierung, für die verteilte Ablaufverfolgung und für benutzerdefinierte Anwendungsmetriken verwendet werden.
  • Azure Monitor-Warnungen sind ein Feature von Monitor. Weitere Informationen finden Sie unter Erstellen, Anzeigen und Verwalten von Metrikwarnungen mit Azure Monitor.

Szenariodetails

Da sich Geschäftsanforderungen und Daten ständig verändern, müssen Anwendungen ohne Infrastrukturprobleme erstell- und skalierbar sein. Dieser Beispiel-Workload zeigt, wie Sie eine z/OS-Mainframe-OLTP-Anwendung auf ein sicheres, skalierbares und hochverfügbares System in der Cloud migrieren können, indem Sie Azure Platform as a Service (PaaS)-Dienste nutzen. Eine solche Migration hilft Unternehmen in der Finanz-, Gesundheits-, Versicherungs- und Einzelhandelsbranche dabei, Anwendungen schnellstmöglich bereitzustellen und die Kosten für die Ausführung der Anwendungen zu senken.

Mögliche Anwendungsfälle

Diese Architektur eignet sich perfekt für OLTP-Workloads mit folgenden Merkmalen:

  • Sie werden von einer internationalen Benutzerbasis genutzt.
  • Ihre Nutzung variiert stark, sodass sie von flexibler Skalierung und nutzungsbasierten Preisen profitieren.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. 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 in der Überblick über die Säule „Zuverlässigkeit“.

  • Diese OLTP-Architektur kann in mehreren Regionen bereitgestellt werden und über eine georeplizierte Datenschicht verfügen.
  • Die Azure-Datenbankdienste unterstützen Zonenredundanz und können ein Failover auf einen sekundären Knoten durchführen, falls es zu einem Ausfall kommt oder um Wartungsarbeiten zu ermöglichen.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

  • Durch ExpressRoute wird von einer lokalen Umgebung aus eine private Verbindung mit Azure erstellt. Sie können aber auch ein Site-to-Site-VPN verwenden.
  • Microsoft Entra ID kann Ressourcen authentifizieren und den Zugriff mithilfe der rollenbasierten Zugriffssteuerung in Azure steuern.
  • Datenbankdienste in Azure unterstützen verschiedene Sicherheitsoptionen wie etwa die Verschlüsselung ruhender Daten.
  • Einen allgemeinen Leitfaden zum Entwerfen sicherer Lösungen finden Sie in der Übersicht über die Säule „Sicherheit“.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Verwenden Sie den Azure-Preisrechner, um die Kosten für Ihre Implementierung abzuschätzen.

Optimaler Betrieb

Die Säule „Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Übersicht über die Säule „Optimaler Betrieb“.

  • In diesem Szenario werden Azure Monitor und Application Insights verwendet, um die Integrität der Azure-Ressourcen zu überwachen. Sie können Warnungen für die proaktive Verwaltung festlegen.
  • Einen Leitfaden zur Resilienz in Azure finden Sie unter Entwerfen zuverlässiger Azure-Anwendungen.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

  • In dieser Architektur werden Azure-PaaS-Dienste wie App Service verwendet. App Service verfügt über Funktionen für die automatische Skalierung.
  • Eine Anleitung zur automatischen Skalierung in Azure finden Sie unter Automatische Skalierung.

Beitragende

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

Hauptautor:

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

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln zur Architektur und technischen Informationen: