Bearbeiten

Freigeben über


Umgestalten von Mainframecomputersystemen, auf denen Adabas und Natural ausgeführt werden

Azure Kubernetes Service (AKS)
Azure ExpressRoute
Azure Managed Disks
Azure NetApp Files

Die Software AG stellt eine beliebte 4GL-Mainframeplattform bereit, die auf der Natural-Programmiersprache und der Adabas-Datenbank basiert. Dieser Artikel enthält eine Architektur für Organisationen, die Mainframecomputer mit Adabas und Natural verwenden und diese Workloads modernisieren und in die Cloud verlagern möchten.

Mainframearchitektur

Im folgenden Diagramm wird ein Beispiel für einen Mainframe mit installierten Adabas- und Natural-Modulen der Software AG vor der Migration zu Azure veranschaulicht. Das Beispiel zeigt eine IBM z/OS-Architektur.

Diagramm einer Mainframearchitektur mit Adabas- & Natural-Modulen der Software AG vor der Migration zu Azure

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

A. Die Eingabe erfolgt über TCP/IP – einschließlich TN3270 und HTTP(S). Bei Eingaben für den Mainframe werden Standard-Mainframeprotokolle verwendet.

B. Bei den empfangenden Anwendungen kann es sich entweder um Batch- oder um Onlinesysteme handeln.

C. Natural, COBOL, PL/I, Assembler oder andere kompatible Programmiersprachen werden in einer geeigneten Umgebung ausgeführt.

D: Gängige Daten- und Datenbankdienste sind hierarchische Datenbanksysteme oder Netzwerkdatenbanksysteme und relationale Datenbanktypen.

E. Gängige Dienste sind unter anderem Programmausführung, E/A-Vorgänge, Fehlererkennung und Schutz innerhalb der Umgebung.

F. Middleware und Hilfsprogramme verwalten Dienste wie Bandspeicher, Warteschlangen, Ausgabe und Webdienste innerhalb der Umgebung.

G. Betriebssysteme stellen die Schnittstelle zwischen der Engine und der ausgeführten Software bereit.

H. Partitionen werden benötigt, um separate Workloads auszuführen und um Arbeitstypen innerhalb der Umgebung zu trennen.

Azure-Architektur

Das folgende Diagramm zeigt, wie Sie die Legacyarchitektur mithilfe eines Refactoringansatzes zu Azure migrieren können, um das System zu modernisieren:

Diagramm der Legacy-Architektur nach Migration zu Azure.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

  1. Eingabe. Die Eingabe erfolgt in der Regel entweder über Azure ExpressRoute von Remoteclients aus oder über andere Anwendungen, von denen derzeit Azure ausgeführt wird. In beiden Fällen werden in erster Linie TCP/IP-Verbindungen verwendet, um eine Verbindung mit dem System herzustellen. Über den TLS-Port 443 kann auf webbasierte Anwendungen zugegriffen werden. Die Präsentationsebene der webbasierten Anwendungen kann praktisch unverändert bleiben, um den Umschulungsaufwand für Benutzer zu minimieren. Bei Bedarf können Sie diese Ebene aber auch mit modernen Benutzeroberflächenframeworks aktualisieren. Für den Administratorzugriff auf die virtuellen Computer (Virtual Machines, VMs) können Azure Bastion-Hosts verwendet werden, um die Anzahl offener Ports zu minimieren und so für maximale Sicherheit zu sorgen.

  2. Zugriff in Azure. In Azure erfolgt der Zugriff auf die Anwendungscomputecluster über einen Azure-Lastenausgleich. Dieser Ansatz ermöglicht die horizontale Skalierung von Computeressourcen für die Eingabeverarbeitung. Sie können entweder Load Balancer-Instanzen der siebten Ebene (Anwendungsebene) oder der vierten Ebene (Netzwerkprotokollebene) verwenden. Welcher Lastenausgleichstyp verwendet wird, hängt jedoch davon ab, wie die Anwendungseingabe den Einstiegspunkt des Computeclusters erreicht. Es wird empfohlen, für den Layer-7-Datenverkehr Azure Application Gateway mit Web Application Firewall-Funktionen zu verwenden.

  3. Computecluster für Anwendungen. Die Architektur unterstützt Anwendungen, die in einem Container ausgeführt werden, der in Azure Kubernetes Service (AKS) bereitgestellt werden kann. Adabas- und Natural-Komponenten können innerhalb Linux-basierten Containern ausgeführt werden. Sie können die Architektur Ihrer Legacyanwendungen auf moderne containerbasierte Architekturen umstellen und sie auf Basis von AKS nutzen.

  4. ApplinX-Terminalemulation (Software AG). ApplinX ist eine serverbasierte Technologie, die Webkonnektivität sowie die Integration in Kernsystemanwendungen ermöglicht, ohne die Anwendungen ändern zu müssen. Natural Online ermöglicht es Onlinebenutzern, über einen Webbrowser eine Verbindung mit Natural-Anwendungen herzustellen. Ohne ApplinX müssen Benutzer eine SSH-Verbindung mit der Terminalemulationssoftware herstellen. Beide Systeme werden in Containern ausgeführt.

  5. EntireX (Software AG). Mit EntireX können Sie Dienste, die in Integration Server ausgeführt werden, mühelos mit unternehmenskritischen Programmen verbinden, die in Sprachen wie COBOL und Natural geschrieben sind. Natural Business Services ermöglicht API-Zugriff auf Geschäftsfunktionen, die in Natural programmiert sind. Beide Systeme werden in Containern ausgeführt.

  6. Adabas (Software AG). Adabas ist ein leistungsstarkes NoSQL-Datenbank-Managementsystem. Natural Batch (Software AG) ist eine dedizierte Komponente zum Ausführen von Batchaufträgen. Natural-Batchaufträge, die von einem Batchauftragsplanungssystem Ihrer Wahl geplant werden, sollten auf dem gleichen Knoten wie die Adabas-Datenbank ausgeführt werden, um Leistungseinbußen zu vermeiden.

  7. Speicher. Datendienste verwenden eine Kombination aus Hochleistungsspeicher (SSD Ultra oder SSD Premium), Dateispeicher (NetApp) und Standardspeicher (Blob, Archiv, Sicherung), der abhängig von der Verwendung lokal redundant oder georedundant sein kann. Knotenbetriebssysteme verwenden Speicher für verwaltete Datenträger. Für alle persistenten Daten wie Datenbankdateien, Schutzprotokolle, Anwendungsdaten und Sicherungen wird Azure NetApp Files verwendet. AKS verwaltet Betriebssystemvolumes, die auf verwalteten Datenträgern gespeichert sind. Alle unternehmenskritischen Daten aus den Datenbanken (einschließlich ASSO-, DATA- und WORK-Dateien und Adabas-Schutzprotokolle) sollten auf separate Volumes in Azure NetApp Files geschrieben werden.

  8. CONNX. Das CONNX-Modul für Adabas bietet hochgradig sicheren Lese-/Schreibzugriff in Echtzeit auf Adabas-Datenquellen unter OS/390, z/OS, VSE, Linux, Solaris, HP-UX, AIX und Windows über .NET, ODBC, OLE DB und JDBC. CONNX bietet eine Datenvirtualisierungsebene, die Connectors zu Adabas und andere Datenquellen wie Azure SQL-Datenbank, Azure Database for PostgreSQL und Azure Database for MySQL verwendet.

Komponenten

  • Azure ExpressRoute erweitert Ihre lokalen Netzwerke über eine private Verbindung, die von einem Konnektivitätsanbieter bereitgestellt wird, in die Cloud von Microsoft. Sie können ExpressRoute verwenden, um Verbindungen mit Microsoft Cloud Services wie Azure und Office 365 herzustellen. Alternativ oder als Sicherung können Sie Verbindungen mit dem Azure VPN Gateway herstellen. Wir empfehlen Ihnen jedoch, ExpressRoute zu verwenden, um eine Verbindung zur Azure-Umgebung über eine private Hochgeschwindigkeitsverbindung mit erweiterter Sicherheit herzustellen.

  • AKS ist ein vollständig verwalteter Kubernetes-Dienst für die Bereitstellung und Verwaltung von containerisierten Anwendungen. AKS bietet serverloses Kubernetes, integrierte CI/CD-Funktionen (Continuous Integration und Continuous Delivery) sowie Sicherheit und Governance auf Unternehmensniveau. In diesem Szenario werden Adabas- und Natural-Container in AKS bereitgestellt.

  • Azure Managed Disks stellen Speichervolumes auf Blockebene dar, die von Azure verwaltet und mit Azure-Virtual Machines verwendet werden. Es sind verschiedene Typen verfügbar: Ultra Disks, SSD Premium, SSD Standard und HDD Standard. In dieser Architektur werden SSD-Datenträger verwendet. In diesem Szenario werden alle Betriebssystemvolumes auf von Azure verwalteten Datenträgern gespeichert.

  • Azure NetApp Files bietet von NetApp unterstützte Azure-Dateifreigaben für Unternehmen. Mit Azure NetApp Files können komplexe dateibasierte Anwendungen mühelos ohne Codeänderungen migriert und ausgeführt werden. In diesem Szenario wird für alle persistenten Daten wie Datenbankdateien, Schutzprotokolle, Anwendungsdaten und Sicherungen Azure NetApp Files verwendet.

Szenariodetails

Anwendungen, die auf Mainframecomputern ausgeführt werden, sind seit fast 50 Jahren ein wesentlicher Bestandteil der meisten Geschäftsvorgänge. Diese Mainframesysteme waren zwar immer äußerst zuverlässig, sind nun jedoch etwas problematisch geworden, da sie unflexibel und in einigen Fällen schwer zu pflegen sind sowie hohe Betriebskosten verursachen.

Viele Organisationen suchen nach Möglichkeiten, diese Systeme zu modernisieren. Sie möchten die Ressourcen, die durch die Pflege dieser Systeme gebunden sind, verfügbar machen, ihre Kosten kontrollieren und flexibler mit den Systemen interagieren können.

Die Software AG stellt eine beliebte 4GL-Mainframeplattform bereit, die auf der Natural-Programmiersprache und der Adabas-Datenbank basiert.

Es gibt zwei Cloudrationalisierungsmuster, mit denen Sie Natural- und Adabas-Anwendungen in Azure ausführen können: Zuweisen eines neuen Hosts und Umgestalten. In diesem Artikel erfahren Sie, wie Sie eine Anwendung mithilfe von Containern umgestalten, die in AKS verwaltet werden. Weitere Informationen finden Sie weiter unten in diesem Artikel unter Containerbasierter Ansatz.

Mögliche Anwendungsfälle

Diese Architektur gilt für alle Organisationen, die Mainframecomputer mit Adabas und Natural verwenden und diese Workloads modernisieren und in die Cloud verlagern möchten.

Überlegungen

Containerbasierter Ansatz

Um die Flexibilität, Zuverlässigkeit und Funktionen von Azure optimal nutzen zu können, müssen Mainframeanwendungen überarbeitet werden. Es empfiehlt sich, monolithische Anwendungen in Microservices umzuwandeln und einen containerbasierten Bereitstellungsansatz zu verwenden. Ein Container fasst die gesamte Software, die für die Ausführung benötigt wird, in einem einzelnen ausführbaren Paket zusammen. Er enthält den Code einer Anwendung zusammen mit den zugehörigen Konfigurationsdateien, Bibliotheken und Abhängigkeiten, die zum Ausführen der App erforderlich sind. Containeranwendungen lassen sich schnell bereitstellen und unterstützen gängige DevOps-Verfahren wie Continuous Integration (CI) und Continuous Deployment (CD).

Adabas- und Natural-Container werden in Pods ausgeführt, die jeweils eine bestimmte Aufgabe übernehmen. Pods sind Einheiten mit einzelnem Container oder mehreren Containern, die gemeinsam auf dem gleichen Knoten bleiben und Ressourcen wie Hostname und IP-Adresse gemeinsam nutzen. Da sie von der zugrunde liegenden Plattform entkoppelt sind, werden Komponenten in Pods unabhängig skaliert und unterstützen eine höhere Verfügbarkeit. Eine containerisierte Anwendung ist auch portierbar: Sie wird einheitlich und konsistent in jeder beliebigen Infrastruktur ausgeführt.

Containerisierte Dienste und die zugehörigen Netzwerk- und Speicherkomponenten müssen orchestriert und verwaltet werden. Wir empfehlen hierfür AKS – ein verwalteter Kubernetes-Dienst zur Automatisierung der Cluster- und Ressourcenverwaltung. Sie legen die benötigte Knotenanzahl fest, und AKS platziert Ihre Container auf den passenden Knoten, um eine optimale Ressourcennutzung zu gewährleisten. AKS unterstützt auch automatisierte Rollouts und Rollbacks, Dienstermittlung, Lastenausgleich und Speicherorchestrierung. Und auch Selbstreparatur wird von AKS unterstützt: Sollte ein Container ausfallen, wird von AKS ein neuer Container gestartet. Geheimnisse und Konfigurationseinstellungen können zudem sicher außerhalb der Container gespeichert werden.

Das Architekturdiagramm in diesem Artikel zeigt eine containerbasierte Implementierung von Adabas und Natural. Bei der Einrichtung von AKS geben Sie die Azure-VM-Größe für Ihre Knoten an. Dadurch werden die CPUs, der Arbeitsspeicher und der Typ des Speichers definiert – beispielsweise hochleistungsfähige SSD-Datenträger (Solid State Drive) oder reguläre Festplattenlaufwerke (Hard Disk Drives, HDDs). Natural sollte in drei oder mehr VM-Instanzen (Knoten) ausgeführt werden, um die Skalierbarkeit und Verfügbarkeit der Benutzeroberfläche (Natural Online plus ApplinX) sowie der API-Ebene (Natural-Dienste plus EntireX) zu verbessern.

Auf der Datenebene wird Adabas im AKS-Cluster ausgeführt. Dieser wird je nach Ressourcennutzung automatisch auf- bzw. abskaliert. Sie können mehrere Komponenten von Adabas im gleichen Pod ausführen. Die Komponenten können aber auch von AKS auf mehrere Knoten im Cluster verteilt werden, um die Skalierung zu erhöhen. Adabas verwendet Azure NetApp Files, einen leistungsstarken, getakteten Dateispeicherdienst, für alle persistenten Daten wie Datenbankdateien, Schutzprotokolle, App-Daten und Sicherungen.

Platzieren Sie Natural-Batch-Pods in derselben Verfügbarkeitszone (Rechenzentrum) wie Adabas-Pods. Sie sollten Näherungsplatzierungsgruppen verwenden, um Adabas- und Natural-Batch-Pods im selben Knotenpool innerhalb derselben Verfügbarkeitszone zu platzieren.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Sicherheit.

Diese Architektur basiert in erster Linie auf Kubernetes. Kubernetes enthält Sicherheitskomponenten wie Podsicherheitsstandards und Geheimnisse. Azure bietet zusätzliche Features wie Microsoft Entra ID, Microsoft Defender for Containers, Azure Policy, Azure Key Vault, Netzwerksicherheitsgruppen und orchestrierte Clusterupgrades. Die umgestalteten Container sollten über einen privaten API-Server und interne IP-Adressen in einem privaten AKS-Cluster mit eingehendem Zugriff bereitgestellt werden. Der gesamte ausgehende Datenverkehr sollte über eine Firewallebene für ausgehenden Datenverkehr weitergeleitet werden.

Kostenoptimierung

Bei der Kostenoptimierung geht es darum, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.

Optimaler Betrieb

„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 Erstellen einer Checkliste zur Überprüfung des optimalen Betriebs.

Refactoring ermöglicht eine schnellere Cloudeinführung. Zudem fördert es die Einführung von DevOps und agilen Arbeitsprinzipien. Sie haben uneingeschränkte Flexibilität hinsichtlich der Optionen für die Entwicklung und Produktionsbereitstellung.

Leistungseffizienz

Die Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Leistungseffizienz.

Kubernetes bietet eine automatische Clusterskalierung. Die Autoskalierung passt die Anzahl von Knoten basierend auf den angeforderten Computeressourcen im Knotenpool an. Sie überprüft den Metrik-API-Server alle zehn Sekunden auf erforderliche Änderungen für die Knotenanzahl. Wenn die automatische Clusterskalierung ermittelt, dass eine Änderung erforderlich ist, wird die Anzahl von Knoten im AKS-Cluster entsprechend herauf- oder herabgesetzt. 

Beitragende

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

Hauptautor:

  • Marlon Johnson | Senior TPM

Mitwirkender:

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

Nächste Schritte

Wenden Sie sich an legacy2azure@microsoft.com, um weitere Informationen zu erhalten.

Hier sind einige zusätzlichen Ressourcen: