Bearbeiten

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.

Diagram that shows a mainframe architecture that uses Software AG's Adabas & Natural, before migration to 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:

Diagram that shows the legacy architecture after migration to 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. Lastenausgleich steht für die Ebene 7 (Anwendungsebene) und für die Ebene 4 (Netzwerkprotokollebene) zur Verfügung. Welcher Typ verwendet wird, hängt davon ab, wie die Anwendungseingabe den Einstiegspunkt des Computeclusters erreicht.

  3. Computecluster für Anwendungen. Die Architektur unterstützt Anwendungen, die in einem Container ausgeführt werden, der in einem Containerorchestrator wie Kubernetes bereitgestellt werden kann. Adabas- und Natural-Komponenten können innerhalb einer Containertechnologie ausgeführt werden, die auf einem Linux-Betriebssystem basiert. Sie können die Architektur Ihrer Legacyanwendungen auf moderne containerbasierte Architekturen umstellen und sie auf Basis von Azure Kubernetes Services 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 geschrieben werden, die von Azure NetApp Files bereitgestellt werden können.

  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-Connectors ermöglichen den Zugriff auf Adabas-Datenquellen und machen sie für gängigere Datenbanken wie Azure SQL-Datenbank, Azure Database for PostgreSQL und Azure Database for MySQL verfügbar.

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.

  • Azure Kubernetes Service ist ein vollständig verwalteter Kubernetes-Dienst für die Bereitstellung und Verwaltung containerisierter Anwendungen. AKS bietet serverloses Kubernetes, integrierte CI/CD-Funktionen (Continuous Integration und Continuous Delivery) sowie Sicherheit und Governance auf Unternehmensniveau.

  • 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.

  • 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.

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 Muster, 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 Azure Kubernetes Service (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). In diesem Beispiel wird Natural in drei VM-Instanzen (Knoten) ausgeführt, 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.

Operations

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.

Effiziente Leistung

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. 

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.

Beitragende

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

Hauptautor:

  • Marlon Johnson | Senior TPM

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: