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.
Integrieren Sie Stonebranch Universal Controller in AWS Mainframe Modernization
Erstellt von Vaidy Sankaran (AWS), Robert Lemieux (Stonebranch), Hüseyin Gomleksizoglu (Stonebranch) und Pablo Alonso Prieto (AWS)
aws-mainframe-modernization-stonebranchCode-Repository | Umgebung: PoC oder Pilotprojekt | Technologien: Mainframe; Modernisierung DevOps; Betrieb; SaaS |
Arbeitslast: Open Source; Microsoft | AWS-Services: AWS-Mainframe-Modernisierung; Amazon RDS; Amazon S3 |
Übersicht
Dieses Muster erklärt, wie die Workload-Orchestrierung des Stonebranch Universal Automation Center (UAC)
Stonebranch UAC ist eine Echtzeit-IT-Automatisierungs- und Orchestrierungsplattform. UAC wurde entwickelt, um Jobs, Aktivitäten und Workflows in hybriden IT-Systemen zu automatisieren und zu orchestrieren, von On-Premise bis hin zu AWS. Unternehmenskunden, die Mainframe-Systeme verwenden, stellen auf Cloud-zentrierte, modernisierte Infrastrukturen und Anwendungen um. Die Tools und professionellen Services von Stonebranch erleichtern die Migration vorhandener Scheduler und Automatisierungsfunktionen in die AWS-Cloud.
Wenn Sie Ihre Mainframe-Programme mithilfe des AWS Mainframe Modernization Service in die AWS-Cloud migrieren oder modernisieren, können Sie diese Integration nutzen, um die Batch-Planung zu automatisieren, die Agilität zu erhöhen, die Wartung zu verbessern und die Kosten zu senken.
Dieses Muster enthält Anweisungen für die Integration von Stonebranch Scheduler
Angestrebtes Ergebnis
Dieses Muster konzentriert sich auf die Erzielung der folgenden Zielergebnisse:
Die Möglichkeit, Mainframe-Batch-Jobs, die im AWS Mainframe Modernization Service (Microfocus Runtime)
ausgeführt werden, von Stonebranch Universal Controller aus zu planen, zu automatisieren und auszuführen. Überwachen Sie die Batch-Prozesse der Anwendung vom Stonebranch Universal Controller aus.
Batch-Prozesse automatisch oder manuell vom Stonebranch Universal Controller aus starten/neustarten/erneut ausführen/stoppen.
Rufen Sie die Ergebnisse der Batch-Prozesse für die AWS Mainframe-Modernisierung ab.
Erfassen Sie die CloudWatchAWS-Protokolle
der Batch-Jobs in Stonebranch Universal Controller.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto
Eine Micro Focus Bank-Demo-Anwendung
mit Job Control Language (JCL) -Dateien und einem Batch-Prozess, der in einer AWS Mainframe Modernization Service-Umgebung (Micro Focus Runtime) bereitgestellt wird Grundkenntnisse über Stonebranch Universal Controller
Windows- oder Linux-Instances von Amazon Elastic Compute Cloud (Amazon EC2) (z. B. xlarge) mit mindestens vier Kernen, 8 GB Arbeitsspeicher und 2 GB Festplattenspeicher
Apache Tomcat Version 8.5.x oder 9.0.x
Oracle Java Runtime Environment (JRE) oder OpenJDK Version 8 oder 11
Amazon Simple Storage Service (Amazon S3)
-Bucket für das Export-Repository Amazon Elastic File System (Amazon EFS)
für Agenten Stonebranch Universal Message Service (OMS) -Verbindungen für Hochverfügbarkeit (HA) Installationsdateien für Stonebranch Universal Controller 7.2 Universal Agent 7.2
Vorlage für die Aufgabenplanung
von AWS Mainframe Modernization (neueste veröffentlichte Version der ZIP-Datei)
Einschränkungen
Das Produkt und die Lösung wurden nur mit OpenJDK 8 und 11 getestet und ihre Kompatibilität validiert.
Die Aufgabenplanungsvorlage aws-mainframe-modernization-stonebranch-integration
funktioniert nur mit dem AWS Mainframe Modernization Service. Diese Vorlage zur Aufgabenplanung funktioniert nur auf einer Unix-, Linux- oder Windows-Edition von Stonebranch-Agenten.
Architektur
Architektur des Zielzustands
Das folgende Diagramm zeigt die AWS-Beispielumgebung, die für dieses Pilotprojekt erforderlich ist.
![Stonebranch UAC interagiert mit der AWS-Mainframe-Modernisierungsumgebung.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4a7bea37-0a5b-4663-902b-9b051e92f0cb.png)
Das Stonebranch Universal Automation Center (UAC) umfasst zwei Hauptkomponenten: Universal Controller und Universal Agents. Stonebranch OMS wird als Nachrichtenbus zwischen dem Controller und einzelnen Agenten verwendet.
Die Stonebranch UAC-Datenbank wird von Universal Controller verwendet. Die Datenbank kann mit MySQL, Microsoft SQL Server, Oracle oder Aurora MySQL kompatibel sein.
AWS Mainframe Modernization Service — Micro Focus-Laufzeitumgebung mit der bereitgestellten BankDemo Anwendung
. Die BankDemo Anwendungsdateien werden in einem S3-Bucket gespeichert. Dieser Bucket enthält auch die Mainframe-JCL-Dateien. Stonebranch UAC kann die folgenden Funktionen für den Batchlauf ausführen:
Starten Sie einen Batch-Job mit dem JCL-Dateinamen, der im S3-Bucket vorhanden ist, der mit dem AWS-Mainframe-Modernisierungsservice verknüpft ist.
Rufen Sie den Status des ausgeführten Batch-Jobs ab.
Warten Sie, bis die Batch-Job-Ausführung abgeschlossen ist.
Ruft die Protokolle der Batch-Job-Ausführung ab.
Führen Sie die fehlgeschlagenen Batch-Jobs erneut aus.
Brechen Sie den Batch-Job ab, während der Job ausgeführt wird.
Stonebranch UAC kann die folgenden Funktionen für die Anwendung ausführen:
Anwendung starten
Status der Bewerbung abrufen
Warten Sie, bis die Anwendung gestartet oder gestoppt ist
Anwendung beenden
Protokolle des Anwendungsbetriebs abrufen
Konvertierung von Stonebranch-Jobs
Das folgende Diagramm zeigt den Prozess der Umstellung von Arbeitsplätzen bei Stonebranch während der Modernisierung. Es wird beschrieben, wie die Jobpläne und Aufgabendefinitionen in ein kompatibles Format konvertiert werden, mit dem Batch-Aufgaben von AWS Mainframe Modernization ausgeführt werden können.
![Prozess vom Mainframe bis zur Konvertierung zum Job Scheduler auf Amazon EC2 mit JCL-Dateien in Amazon S3.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4d2ed890-f143-455e-8180-4d967b71c494.png)
Für den Konvertierungsprozess werden die Jobdefinitionen aus dem vorhandenen Mainframe-System exportiert.
JCL-Dateien können in den S3-Bucket für die Mainframe-Modernisierungsanwendung hochgeladen werden, sodass diese JCL-Dateien vom AWS Mainframe Modernization Service bereitgestellt werden können.
Das Konvertierungstool konvertiert die exportierten Auftragsdefinitionen in UAC-Aufgaben.
Nachdem alle Aufgabendefinitionen und Jobpläne erstellt wurden, werden diese Objekte in den Universal Controller importiert. Die konvertierten Aufgaben führen dann die Prozesse im AWS Mainframe Modernization Service aus, anstatt sie auf dem Mainframe auszuführen.
Stonebranch UAC-Architektur
Das folgende Architekturdiagramm stellt ein active-active-passive Modell eines Universal Controllers mit hoher Verfügbarkeit (HA) dar. Stonebranch UAC wird in mehreren Availability Zones eingesetzt, um hohe Verfügbarkeit zu gewährleisten und Disaster Recovery (DR) zu unterstützen.
![Multi-AZ-Umgebung mit DR und Controllern, Amazon EFS, Aurora und einem S3-Bucket für Backups.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/3f94b855-c146-4fcb-902c-5d343438a558.png)
Universeller Controller
Zwei Linux-Server werden als Universal Controller bereitgestellt. Beide stellen eine Verbindung zum selben Datenbankendpunkt her. Jeder Server beherbergt eine Universal Controller-Anwendung und OMS. Zum Zeitpunkt der Bereitstellung wird die neueste Version von Universal Controller verwendet.
Die Universal Controller werden in der Tomcat-Webapp als Dokument ROOT bereitgestellt und auf Port 80 bereitgestellt. Diese Bereitstellung erleichtert die Konfiguration des Frontend-Load Balancers.
HTTP über TLS oder HTTPS wird mithilfe des Stonebranch-Platzhalterzertifikats aktiviert (z. B.). https://customer.stonebranch.cloud
Dadurch wird die Kommunikation zwischen dem Browser und der Anwendung gesichert.
OMS
Ein Universal Agent und OMS (Opswise Message Service) befinden sich auf jedem Universal Controller-Server. Alle vom Kunden bereitgestellten Universal Agents sind so eingerichtet, dass sie eine Verbindung zu beiden OMS-Diensten herstellen. OMS fungiert als gemeinsamer Messaging-Dienst zwischen den Universal Agents und dem Universal Controller.
Amazon EFS mountet auf jedem Server ein Spool-Verzeichnis. OMS verwendet dieses gemeinsam genutzte Spool-Verzeichnis, um die Verbindungs- und Aufgabeninformationen von Controllern und Agenten zu speichern. OMS arbeitet in einem Hochverfügbarkeitsmodus. Wenn das aktive OMS ausfällt, hat das passive OMS Zugriff auf alle Daten und nimmt den aktiven Betrieb automatisch wieder auf. Universal Agents erkennen diese Änderung und stellen automatisch eine Verbindung zum neuen aktiven OMS her.
Datenbank
Amazon Relational Database Service (Amazon RDS) beherbergt die UAC-Datenbank, deren Engine mit Amazon Aurora MySQL kompatibel ist. Amazon RDS hilft bei der Verwaltung und Bereitstellung von geplanten Backups in regelmäßigen Abständen. Beide Universal Controller-Instances stellen eine Verbindung mit demselben Datenbank-Endpunkt her.
Load Balancer
Für jede Instanz wird ein Application Load Balancer eingerichtet. Der Load Balancer leitet den Datenverkehr zu einem bestimmten Zeitpunkt an den aktiven Controller weiter. Ihre Instance-Domainnamen verweisen auf die jeweiligen Load Balancer-Endpunkte.
URLs
Jede Ihrer Instanzen hat eine URL, wie im folgenden Beispiel gezeigt.
Umgebung | Instance |
Produktion | |
Entwicklung (außerhalb der Produktion) | |
Testen (außerhalb der Produktion) |
Hinweis: Instanznamen, die nicht zur Produktion verwendet werden, können Ihren Anforderungen entsprechend festgelegt werden.
Hohe Verfügbarkeit
Hochverfügbarkeit (HA) ist die Fähigkeit eines Systems, über einen bestimmten Zeitraum kontinuierlich ohne Ausfall zu arbeiten. Zu diesen Ausfällen gehören unter anderem Speicher, Reaktionsverzögerungen bei der Serverkommunikation aufgrund von CPU- oder Speicherproblemen und Netzwerkkonnektivität.
Um die HA-Anforderungen zu erfüllen:
Alle EC2-Instances, Datenbanken und anderen Konfigurationen werden in zwei separaten Availability Zones innerhalb derselben AWS-Region gespiegelt.
Der Controller wird über ein Amazon Machine Image (AMI) auf zwei Linux-Servern in den beiden Availability Zones bereitgestellt. Wenn Sie beispielsweise in der Region Europa eu-west-1 bereitgestellt werden, haben Sie einen Universal Controller in der Availability Zone eu-west-1a und der Availability Zone eu-west-1c.
Es dürfen keine Jobs direkt auf den Anwendungsservern ausgeführt werden und es dürfen keine Daten auf diesen Servern gespeichert werden.
Der Application Load Balancer führt Integritätsprüfungen auf jedem Universal Controller durch, um den aktiven Controller zu identifizieren und den Datenverkehr an ihn weiterzuleiten. Falls bei einem Server Probleme auftreten, versetzt der Load Balancer den passiven Universal Controller automatisch in einen aktiven Status. Der Load Balancer identifiziert dann die neue aktive Universal Controller-Instanz anhand der Integritätsprüfungen und leitet den Datenverkehr weiter. Der Failover erfolgt innerhalb von vier Minuten ohne Jobverlust, und die Frontend-URL bleibt unverändert.
Der Aurora MySQL-kompatible Datenbankdienst speichert Universal Controller-Daten. Für Produktionsumgebungen wird ein Datenbankcluster mit zwei Datenbank-Instances in zwei verschiedenen Availability Zones innerhalb einer einzigen AWS-Region erstellt. Beide Universal Controller verwenden eine Java Database Connectivity (JDBC) -Schnittstelle, die auf einen einzelnen Datenbankcluster-Endpunkt verweist. Falls bei einer Datenbankinstanz Probleme auftreten, verweist der Datenbankcluster-Endpunkt dynamisch auf die fehlerfreie Instanz. Es ist kein manueller Eingriff erforderlich.
Backup und Löschen
Der Stonebranch Universal Controller ist so eingestellt, dass alte Daten nach dem in der Tabelle angegebenen Zeitplan gesichert und gelöscht werden.
Typ | Plan |
Aktivität | 7 Tage |
Prüfung | 90 Tage |
Verlauf | 60 Tage |
Backup-Daten, die älter als die angegebenen Daten sind, werden in das XML-Format exportiert und im Dateisystem gespeichert. Nach Abschluss des Sicherungsvorgangs werden ältere Daten aus der Datenbank gelöscht und für Produktionsinstanzen bis zu einem Jahr in einem S3-Bucket archiviert.
Sie können diesen Zeitplan in Ihrer Universal Controller-Oberfläche anpassen. Eine Verlängerung dieser Zeitrahmen kann jedoch zu längeren Ausfallzeiten während der Wartung führen.
Tools
AWS-Services
AWS Mainframe Modernization ist eine Cloud-native AWS-Plattform, mit der Sie Ihre Mainframe-Anwendungen auf von AWS verwaltete Laufzeitumgebungen modernisieren können. Er bietet Tools und Ressourcen, die Sie bei der Planung und Implementierung von Migration und Modernisierung unterstützen.
Amazon Elastic Block Store (Amazon EBS) bietet Volumes für die Speicherung auf Blockebene, die in Verbindung mit Amazon-EC2-Instances verwendet werden.
Amazon Elastic File System (Amazon EFS) unterstützt Sie bei der Erstellung und Konfiguration gemeinsam genutzter Dateisysteme in der AWS-Cloud.
Amazon Relational Database Service (Amazon RDS) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS-Cloud. Dieses Muster verwendet Amazon Aurora MySQL-Compatible Edition.
Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
Elastic Load Balancing (ELB) verteilt eingehenden Anwendungs- oder Netzwerkverkehr auf mehrere Ziele. Sie können beispielsweise den Datenverkehr auf Amazon EC2 EC2-Instances, Container und IP-Adressen in einer oder mehreren Availability Zones verteilen. Dieses Muster verwendet einen Application Load Balancer.
Stonebranch
Das Universal Automation Center (UAC)
ist ein System von Produkten zur Workload-Automatisierung für Unternehmen. Dieses Muster verwendet die folgenden UAC-Komponenten: Universal Controller
, eine Java-Webanwendung, die in einem Tomcat-Webcontainer ausgeführt wird, ist die Lösung für Enterprise Job Scheduler und Workload Automation Broker von Universal Automation Center. Der Controller bietet eine Benutzeroberfläche zum Erstellen, Überwachen und Konfigurieren von Controller-Informationen, verwaltet die Planungslogik, verarbeitet alle Nachrichten an und von Universal Agents und synchronisiert einen Großteil des Hochverfügbarkeitsbetriebs von Universal Automation Center. Universal Agent
ist ein herstellerunabhängiger Planungsagent, der mit dem vorhandenen Job Scheduler auf allen wichtigen Computerplattformen zusammenarbeitet, sowohl auf älteren als auch auf verteilten Computerplattformen. Alle Scheduler, die auf z/Series, I/Series, Unix, Linux oder Windows laufen, werden unterstützt.
Universal Agent
ist ein herstellerunabhängiger Scheduling-Agent, der mit bestehenden Job-Schedulern auf allen wichtigen Computerplattformen, sowohl älteren als auch verteilten, zusammenarbeitet. Alle Scheduler, die auf z/Series, I/Series, Unix, Linux oder Windows laufen, werden unterstützt. Stonebranch aws-mainframe-modernization-stonebranch -integration AWS Mainframe Modernization Universal Extension
ist die Integrationsvorlage zum Ausführen, Überwachen und erneuten Ausführen von Batch-Jobs auf der AWS Mainframe Modernization Platform.
Code
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Laden Sie die Installationsdateien herunter. | Laden Sie die Installation von den Stonebranch-Servern herunter. Wenden Sie sich an Stonebranch, um die Installationsdateien zu erhalten. | Cloud-Architekt |
Starten Sie die EC2-Instanz. | Sie benötigen etwa 3 GB zusätzlichen Speicherplatz für die Universal Controller- und Universal Agent-Installationen. Stellen Sie also mindestens 30 GB Festplattenspeicher für die Instanz bereit. Fügen Sie der Sicherheitsgruppe Port 8080 hinzu, damit darauf zugegriffen werden kann. | Cloud-Architekt |
Überprüfen Sie die Voraussetzungen. | Gehen Sie vor der Installation wie folgt vor:
| Cloud-Administrator, Linux-Administrator |
Installieren Sie Universal Controller. |
| Cloud-Architekt, Linux-Administrator |
Installieren Sie Universal Agent. |
| Cloud-Administrator, Linux-Administrator |
Fügen Sie OMS zu Universal Controller hinzu. |
| Universeller Controller-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Integrationsvorlage importieren. | Für diesen Schritt benötigen Sie die AWS Mainframe Modernization Universal Extension
Nachdem die Integrationsvorlage importiert wurde, werden unter Verfügbare Services AWS Mainframe Modernization Tasks angezeigt. | Universeller Controller-Administrator |
Aktivieren Sie auflösbare Anmeldeinformationen. |
| Universeller Controller-Administrator |
Starten Sie die Aufgabe. |
| Universeller Controller-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine Aufgabe für den Batch-Job. |
| Universeller Controller-Administrator |
Starten Sie die Aufgabe. |
| Universeller Controller-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Kopieren Sie die Aufgaben. |
| Universeller Controller-Administrator |
Aufgaben aktualisieren. |
| Universeller Controller-Administrator |
Erstellen Sie einen Workflow. |
| Universeller Controller-Administrator |
Überprüfen Sie den Status des Workflows. |
| Universeller Controller-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Korrigieren Sie die fehlgeschlagene Aufgabe und führen Sie sie erneut aus. |
| Universeller Controller-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Aktion „Anwendung starten“. |
| Universeller Controller-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Aktion Batch stornieren. |
|
Zugehörige Ressourcen
Zusätzliche Informationen
Symbole im Workflow-Editor
![RUNHELLO-Aufgabe oben, FOOBAR in der Mitte und die restlichen Aufgaben auf der dritten Ebene.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/837430ee-3159-4fe2-8e17-65168294ef1e.png)
Alle Aufgaben sind miteinander verbunden
![RUNHELLO stellt eine Verbindung zu FOOBAR her, wodurch eine Verbindung zu den drei verbleibenden Aufgaben hergestellt wird.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/fe483348-9a6f-450b-87e6-ceae6b2bdaad.png)
Status des Workflows
![Die FOOBAR-Aufgabe schlägt fehl und die verbleibenden drei Aufgaben warten.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/5ea4e239-fbbe-4fa4-9ffa-b7a9443b7975.png)