Bearbeiten

Erneutes Hosten eines allgemeinen Mainframes in Azure

Azure Virtual Machines
Azure Virtual Network
Azure Container Registry
Azure Kubernetes Service (AKS)
Azure Site Recovery

Rehosting stellt eine Möglichkeit dar, Legacymainframeanwendungen intakt in einem offenen System auszuführen. Diese Methode ist der schnellste Weg, um Anwendungen aus Ihrer Mainframehardware zu entfernen und sie auf einer Windows- oder Linux-Plattform in einer cloudnativen Umgebung auszuführen. In Legacysprachen wie COBOL oder PL/1 geschriebener Anwendungscode wird unverändert migriert und in der neuen Umgebung neu kompiliert, ohne dass die Geschäftslogik geändert wird. Rehosting hilft, die Programmlogik der Anwendung beizubehalten. Gleichzeitig minimiert Rehosting das Risiko und die Kosten, die mit der Neucodierung der Anwendung für die neue Umgebung verbunden sind.

Rehosting ist eine kosteneffiziente Methode zur Bewältigung der mit der Wartung alter Mainframehardware verbundenen Herausforderungen. Beim Rehosting, das allgemein als Lift & Shift bezeichnet wird, werden unternehmenskritische und zentrale Anwendungen aus dem Mainframesystem in die Cloud migriert. Mit diesem Ansatz ändert sich die zugrunde liegende Hardware, z. B. von einem IBM-Mainframe in x86. Die Funktions- und Geschäftslogik bleibt jedoch unberührt. Diese Migration ist die schnellste und aus Sicht von Endbenutzern die am wenigsten problematische. Die Anwendung behält die gleichen Schnittstellen und das gewohnte Erscheinungsbild bei, mit denen die Benutzer vertraut sind.

Für Teams, die Cloudfunktionen erkunden, ist das Rehosting von Anwendungen eine gute Möglichkeit, Cloudfunktionen wie automatische Skalierung, verwalteten Speicher und Container zu nutzen. Diese Architektur zeigt ein allgemeines Rehostingbeispiel, das zwei Methoden zum Bereitstellen von Workloads beschreibt. Sie können Azure Kubernetes Service (AKS) oder Azure Virtual Machines verwenden. Welche Methode Sie verwenden, hängt von der Portabilität der Anwendung und von Ihren Vorlieben ab.

Mögliche Anwendungsfälle

Viele Szenarien können vom Rehosting in Azure profitieren. Dies sind einige mögliche Anwendungsfälle:

  • Kostenoptimierung: Sie möchten die hohen Betriebs- und Wartungskosten der Mainframehardware und der zugehörigen Lizenzen oder Software deutlich reduzieren.
  • Standortunabhängig: Sie planen den Ausstieg aus dem Rechenzentrum und suchen eine hochverfügbare, sichere und zuverlässige Alternativplattform für das Hosting Ihrer Legacyanwendungen.
  • Geringste Unterbrechung: Sie müssen unternehmenskritische Mainframeanwendungen migrieren und gleichzeitig die Kontinuität des täglichen Geschäftsbetriebs aufrechterhalten.
  • Minimale Auswirkungen auf Benutzer: Verschieben Sie Ihre Anwendungen von der alten Hardware, aber bieten Sie Ihren Benutzern weiterhin die gleichen oder bessere Schnittstellen.
  • Unwesentliche Anpassungen: Die Anwendungen werden in der Cloud gehostet, ohne dass der Code wesentlich geändert wird. Sie stellen Ihrem Entwicklungsteam weiterhin die vertraute Codebasis zur Verfügung und ersparen gleichzeitig die kostspielige Entwicklung, Prüfung und Anpassung an eine neuere Sprache.

Mainframearchitektur

Dies ist die Architektur vor der Migration.

Diagramm, das die Mainframearchitektur vor der Migration zu Azure zeigt

Laden Sie eine Visio-Datei dieser Architektur herunter.

Mainframe-Dataflow

  1. Die Eingabe erfolgt über TCP/IP – einschließlich TN3270, HTTP und HTTPS.

  2. Für Eingaben für das Mainframesystem werden Standard-Mainframekommunikationsprotokolle verwendet.

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

  4. COBOL, PL/I, Assembler und andere kompatible Programmiersprachen werden in einer aktivierten Umgebung ausgeführt.

  5. Bei den verwendeten Daten und Datenbankdiensten handelt es sich um hierarchische, Netzwerk- und relationale Datenbanken.

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

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

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

  9. Partitionen sind erforderlich, um separate Workloads auszuführen und um Arbeitstypen innerhalb der Umgebung zu trennen.

Aufbau

Diese Architektur zeigt eine Lösung, die in Microsoft Azure erneut gehostet wird.

Diagramm, das die Mainframearchitektur nach der Migration zu Azure zeigt

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Eingaben erfolgen in der Regel über ExpressRoute von entfernten Clients oder von anderen Anwendungen, die derzeit in Azure ausgeführt werden. In beiden Fällen werden in erster Linie TCP/IP-Verbindungen verwendet, um eine Verbindung mit dem System herzustellen. Benutzerzugriff erfolgt über TLS-Port 443 für den Zugriff auf webbasierte Anwendungen. Die Präsentationsebene der webbasierten Anwendung kann unverändert beibehalten werden, um die Einarbeitung der Endbenutzer zu minimieren. 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. Der Zugriff auf die Anwendungscomputecluster erfolgt über einen Azure-Lastenausgleich. Dieser Ansatz ermöglicht die horizontale Skalierung von Computeressourcen für die Eingabeverarbeitung. Sowohl auf der siebten als auch auf der vierten Anwendungsebene sind Lastenausgleichsinstanzen für Netzwerkprotokolle verfügbar. Welcher Typ verwendet wird, hängt davon ab, wie die Anwendungseingabe den Einstiegspunkt des Computeclusters erreicht.

  3. Die Verwendung von Anwendungscomputeclustern hängt davon ab, ob die Anwendung VMs in einem Computecluster unterstützt oder ob die Anwendung in einem Container ausgeführt wird, den Sie in einem Containercomputecluster wie Kubernetes bereitstellen. Der Großteil der Mainframepartnersoftware für Anwendungen, die in Legacysprachen geschrieben wurden, bevorzugt die Verwendung von VMs. Bestimmte Mainframesystem-Partnersoftware kann auch die Bereitstellung in Containern unterstützen.

  4. Anwendungsserver empfangen die Eingabe in den Computeclustern und geben den Anwendungszustand und die Daten mithilfe von Azure Redis Cache oder RDMA (Remote Direct Memory Access) weiter. Die Anwendungsserver hosten verschiedene COBOL- oder PL/1-Anwendungsprogramme. Ein Transaktionssystem-Manager ist ein Emulator in Azure, der CICS- (Kundeninformations-Steuerungssysteme) und IMS-Workloads (Informationsverwaltungssysteme) verarbeiten kann. Ein Batchsystememulator in Azure übernimmt die Rolle der Job Control Language (JCL).

  5. Sie können Azure-Dienste oder andere Partnersoftware verwenden, die in VMs für das System, Dienstprogramme und Datenverwaltung gehostet werden.

  6. Mainframedaten werden in Azure-Datenbanken migriert. Azure bietet verschiedene effiziente Datenspeicherdienste wie Azure SQL-Datenbank, SQL Server in Azure Virtual Machines und Azure SQL Managed Instance. Es gibt viele Faktoren, die bei der Auswahl zu berücksichtigen sind, wie z. B. die Art der Workloads, datenbankübergreifende Abfragen und Anforderungen an zweiphasige Commits. Azure-Datendienste bieten skalierbaren und hochverfügbaren Datenspeicher, den Sie über mehrere Computeressourcen in einem Cluster hinweg gemeinsam nutzen können. Sie können diese Dienste georedundant machen und sie so konfigurieren, dass bei einem Failover die Datenbankinstanz für Notfallwiederherstellung aktiv wird.

  7. AKS ermöglicht es Ihnen, Ihre Modernisierungsworkloads für Mainframes in Azure aufzuskalieren und herunterzuskalieren, um die Vorteile der Cloudplattform zu nutzen. Wenn Sie mehrere AKS-Cluster bereitstellen, wählen Sie Regionen aus, in denen AKS verfügbar ist. Anschließend können Sie gekoppelte Regionen für eine hochgradig resiliente Architektur verwenden. Es ist wichtig, mehrere Instanzen eines AKS-Clusters in mehreren Regionen und in hochverfügbaren Konfigurationen auszuführen.

  8. Azure Data Factory ermöglicht Datenerfassung und -synchronisierung mit mehreren Datenquellen, sowohl innerhalb von Azure als auch aus externen Quellen. Azure Blob Storage ist eine häufig verwendete Zielzone für externe Datenquellen.

  9. Verwenden Sie Azure Site Recovery für die Notfallwiederherstellung der VM- und Containerclusterkomponenten. Azure Site Recovery repliziert und synchronisiert die Produktionsumgebung in die Failoverregion.

Komponenten

  • Virtual Machines: Bei Azure Virtual Machines handelt es sich um eine skalierbare bedarfsgesteuerte Computingressource. Ein virtueller Azure-Computer bietet Ihnen die Flexibilität der Virtualisierung, ohne Zeit und Geld für den Kauf und die Verwaltung der Hardware aufwenden zu müssen, mit der der virtuelle Computer betrieben wird.

  • Azure Virtual Network: Virtual Network ist der Grundbaustein für Ihr privates Netzwerk in Azure. Mit Virtual Network können zahlreiche Arten von Azure-Ressourcen (z. B. Azure-VMs) sicher untereinander, aber auch mit dem Internet und mit lokalen Netzwerken kommunizieren. Virtual Network ist mit einem herkömmlichen Netzwerk vergleichbar, das Sie in Ihrem eigenen Rechenzentrum betreiben. Es bringt jedoch die Vorteile der Azure-Infrastruktur wie Skalierung, Verfügbarkeit und Isolierung mit sich.

  • Azure Virtual Network-Schnittstellenkarten: Eine Netzwerkschnittstelle ermöglicht es einer Azure-VM, mit dem Internet, Azure und lokalen Ressourcen zu kommunizieren. Wie in dieser Architektur dargestellt, können Sie der gleichen Azure-VM weitere Netzwerkkarten hinzufügen. Auf diese Weise verfügen die untergeordneten Solaris-VMs über ein dediziertes Netzwerkschnittstellengerät und eine eigene IP-Adresse.

  • Azure Disk Storage: Verwaltete Azure-Datenträger sind Speichervolumes auf Blockebene, die von Azure verwaltet und mit Azure-VMs verwendet werden. Die verfügbaren Datenträgertypen sind Azure Disk Storage Ultra, Azure SSD Premium, Azure SSD Standard und Azure HDD Standard. Für diese Architektur wird entweder SSD Premium oder Disk Storage Ultra empfohlen.

  • Azure Files: Azure Files bietet vollständig verwaltete Dateifreigaben in der Cloud, auf die über Server Message Block (SMB), ein Protokoll nach Branchenstandard, zugegriffen werden kann. Sie können Azure-Dateifreigaben gleichzeitig mit Cloud- und lokalen Bereitstellungen von Windows, Linux und macOS einbinden.

  • Azure ExpressRoute: Mit Azure 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 Verbindungen mit Microsoft-Clouddiensten herstellen, z. B. mit Microsoft Azure und Microsoft 365.

  • AKS: Stellen Sie containerisierte Anwendungen einfacher mit einem vollständig verwalteten Kubernetes-Dienst bereit, und verwalten Sie sie. Azure Kubernetes Service (AKS) bietet eine serverlose Kubernetes-Plattform, eine Benutzeroberfläche für Continuous Integration und Continuous Delivery (CI/CD) sowie Sicherheit und Governance auf Unternehmensniveau. Ihre Entwicklungs- und Betriebsteams können gemeinsam auf einer Plattform arbeiten, um Anwendungen ohne Bedenken schnell erstellen, ausliefern und skalieren zu können.

  • Azure Container Registry: Erstellen, speichern, sichern, scannen, replizieren und verwalten Sie Containerimages und Artefakte mit einer vollständig verwalteten, georeplizierten Instanz der OCI-Distribution. Stellen Sie Verbindungen zwischen Umgebungen wie AKS und Azure Red Hat OpenShift sowie zwischen Azure-Diensten wie App Service, Machine Learning und Batch her.

  • Site Recovery: Site Recovery bietet einfache Bereitstellung, Kosteneffizienz und Zuverlässigkeit. Stellen Sie Replikations-, Failover- und Wiederherstellungsprozesse über Site Recovery bereit, damit Ihre Anwendungen während geplanter und ungeplanter Ausfälle weiterhin ausgeführt werden.

Überlegungen

Diese Überlegungen setzen die Säulen des Azure Well-Architected Framework um, das eine Reihe von Leitprinzipien enthält, die zur Verbesserung der Qualität eines Workloads verwendet werden können. 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“.

  • Um die Funktionen von Azure optimal zu nutzen, verwenden Sie einen containerbasierten Ansatz für die Bereitstellung. Dieser Ansatz ist hilfreich, wenn die Anwendung bei Bedarf skaliert und eine elastische Kapazitätsbereitstellung erreicht werden soll, ohne die Infrastruktur verwalten zu müssen. Außerdem können Sie ereignisgesteuerte automatische Skalierung und Trigger hinzufügen. 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.
  • Sie müssen containerisierte Dienste und die zugehörigen Netzwerk- und Speicherkomponenten orchestrieren und verwalten. AKS ist eine hervorragende Option, da sie Cluster- und Ressourcenverwaltung automatisiert. 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. Außerdem unterstützt AKS Selbstheilung. Wenn ein Container ausfällt, startet AKS einen neuen. Geheimnisse und Konfigurationseinstellungen können außerdem sicher außerhalb der Container gespeichert werden.
  • Die Architektur verwendet Site Recovery, um die Azure-VMs in einer sekundären Azure-Region zu spiegeln und so ein schnelles Failover und Notfallwiederherstellung bei Ausfall eines Azure-Rechenzentrums zu ermöglichen.
  • Um die Uptime der Workloads im Rahmen des AKS-Bereitstellungsansatzes zu maximieren, empfiehlt es sich im Sinne der Geschäftskontinuität, die Anwendung in mehreren AKS-Clustern in verschiedenen Regionen bereitzustellen. Der Anwendungsstatus kann in mehreren Clustern verfügbar sein, weil AKS Speicherreplikation über mehrere Regionen hinweg ermöglicht.
  • Um die Uptime der Workloads für einen VM-basierten Bereitstellungsansatz zu maximieren, sollten Sie Azure Virtual Machine Scale Sets verwenden. Mit Azure Virtual Machine Scale Sets können Sie eine Gruppe von VMs mit Lastenausgleich erstellen und verwalten. Die Anzahl von VM-Instanzen kann automatisch erhöht oder verringert werden, wenn sich der Bedarf ändert, oder es kann ein Zeitplan festgelegt werden. Skalierungsgruppen ermöglichen Hochverfügbarkeit für Ihre Anwendungen und das zentrale Verwalten, Konfigurieren und Aktualisieren zahlreicher VMs.

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

  • Diese Lösung verwendet eine Azure-Netzwerksicherheitsgruppe, um den Datenverkehr zwischen Azure-Ressourcen zu verwalten. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen.
  • Azure Bastion maximiert die Zugriffssicherheit für Administratoren, indem die Anzahl der offenen Ports minimiert wird. Dieser Dienst ermöglicht sichere und nahtlose RDP- und SSH-Verbindungen mit virtuellen Netzwerk-VMs über TLS direkt im Azure-Portal.

Kostenoptimierung

Optimieren Sie Ihre Kosten, indem Sie nach Möglichkeiten suchen, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Durch die Ausführung auf Windows-VMs optimiert Azure die Kosten. Mir Windows-VMs können Sie VMs deaktivieren, wenn sie nicht verwendet werden, und einen Zeitplan für bekannte Verwendungsmuster erstellen. Azure identifiziert die richtige Anzahl oder die richtigen Ressourcentypen, analysiert die Kosten im Laufe der Zeit und wird gemäß den geschäftlichen Anforderungen skaliert, ohne das Budget zu überschreiten.

Verwenden Sie den Azure-Preisrechner, um die Kosten für die Dienste in dieser Architektur abzuschätzen.

Erstklassige Betriebsprozesse

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

  • Die Zielarchitektur ist mit Azure Cloud Services funktionsfähig.
  • Die containerbasierte Bereitstellung fördert die Anwendung von DevOps- und agilen Arbeitsprinzipien.
  • Sie haben uneingeschränkte Flexibilität hinsichtlich der Optionen für die Entwicklung und Produktionsbereitstellung.

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

  • Die effiziente Leistung wird bei dieser Lösung aufgrund des Lastenausgleichs sichergestellt. Wenn bei einem Darstellungs- oder Transaktionsserver ein Fehler auftritt, übernimmt der Server hinter dem Lastenausgleich die Workload.
  • Kubernetes bietet eine automatische Clusterskalierung. Die Autoskalierung passt die Anzahl von Knoten basierend auf den angeforderten Computeressourcen im Knotenpool an.

Beitragende

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

Hauptautor:

Andere Mitwirkende:

Nächste Schritte

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