Diese Architektur zeigt, wie der Raincode COBOL-Compiler Mainframe-Legacy-Anwendungen modernisiert, indem er sie nahtlos in einen modernen, Azure-basierten Technologiestapel migriert und integriert, ohne eine einzige Codezeile zu ändern. Mit der Compiler-Technologie von Raincode können Sie aktuelle optimierte Mainframe-Anwendungen beibehalten und in der Cloud bereitstellen. So können Sie jahrzehntelange Entwicklungen beibehalten und gleichzeitig die Leistung und Flexibilität erheblich steigern. Die Lösung von Raincode zielt darauf ab, den Mainframe in eine Azure-native Architektur umzuwandeln, indem die Geschäftslogik erhalten bleibt, während die gesamte Architektur transformiert wird. Raincode unterstützt Anwendungsflexibilität in Linux und Windows mit containerisierten oder VM-Bereitstellungen in Azure.
Aufbau
IBM z/OS-Legacy-Architektur
Das folgende Diagramm zeigt ein Beispiel einer älteren COBOL-basierten Mainframearchitektur vor der Migration zu Azure.
Laden Sie eine Visio-Datei dieser Architektur herunter.
Workflow
Die folgenden Anmerkungen werden von der Quelle IBM z/OS zu Azure zugeordnet:
A. Die Terminalemulation aus IBM 3270 für Bedarfs- und Onlinebenutzer wird durch einen Webbrowser ersetzt, um auf Systemressourcen in Azure zugreifen zu können.
B. COBOL und andere Legacy-Anwendungscodes werden in C#/.NET konvertiert. Raincode generiert zu 100 % threadsicheren und verwalteten Code für .NET und .NET Core.
C. Raincode COBOL-Compiler modernisiert Mainframe-Legacy-Anwendungen, indem er sie nahtlos in einen modernen, cloudbasierten Technologiestapel migriert und integriert, ohne eine einzige Codezeile zu ändern.
D: Funktionen zur Workload-Automatisierung, Zeitplanung, Berichterstellung und Systemüberwachung können die aktuellen Plattformen beibehalten, da sie heute Azure-fähig sind.
E. Legacy-Datenbankschemata wie Db2 und IDMS können auf die Azure SQL-Datenbank mit allen DR/HA-Funktionen, die Azure bietet, migriert werden. Raincode unterstützt auch statische oder dynamische SQL-Abfragen über SQL Server oder in Azure SQL DB.
F. Dateistrukturen (VSAM, Flatfiles, virtuelles Band und ähnliches) lassen sich leicht auf Azure-Datenkonstrukte in strukturierten Dateien und/oder Blob-Storage abbilden. Features wie redundante geografische Replikation und Azure Auto Failover Group Replication stehen zur Verfügung, um die Daten zu schützen.
G. Ein optionales Druckersubsystem verwaltet lokale Drucker.
H. z/OS wird auf logischen Partitionen (LPARs) ausgeführt.
I. LPARs stellen eine Teilmenge der Hardwareressourcen eines Computers dar. Jede LPAR kann ein separates Betriebssystem hosten. Dieses Beispiel zeigt zwar nur Z/OS-Instanzen, aber andere LPARs, die auf derselben Hardware ausgeführt werden, können andere Betriebsumgebungen wie z/VM oder andere Engines wie zIIP oder IFL hosten.
Azure-basierte Architektur nach der Migration
Dieses Diagramm zeigt, wie die Legacyarchitektur zu Azure migriert werden kann, wobei der Raincode-Compiler und viele andere moderne Azure-Dienste genutzt werden können.
Laden Sie eine Visio-Datei dieser Architektur herunter.
Workflow
Der Benutzerzugriff erfolgt über TLS-Port 443 für den Zugriff auf webbasierte Anwendungen. Die Präsentationsebene der webbasierten Anwendungen kann praktisch unverändert bleiben, damit Endbenutzer sich so wenig wie möglich umorientieren müssen. Alternativ kann die Präsentationsebene der Webanwendung je nach Bedarf mit modernen UX-Frameworks aktualisiert werden.
In Azure erfolgt der Zugriff auf die Computecluster der Anwendung über Azure Load Balancer. Dies ermöglicht das Aufskalieren von Computeressourcen zum Verarbeiten der Eingabe.
Softwareprogramme für die Emulation von Raincodesystemen kann darüber hinaus die Bereitstellung in Containern unterstützen. Mit der neuesten Compilertechnologie von Raincode können Sie aktuelle optimierte Mainframeanwendungen beibehalten und in .NET Core bereitstellen.
Cloudnative Anwendungen sind eine Sammlung unabhängiger und autonomer Dienste, die als Lightweight-Container verpackt sind.
Im Gegensatz zu virtuellen Computern können Container schnell auf- und abskaliert werden. Da sich die Skalierungseinheit auf Container verlagert, wird die Infrastrukturnutzung optimiert.
Datendienste verwenden eine Kombination aus Hochleistungsspeicher auf SSD Ultra- oder Premium-Datenträgern, einem Dateispeicher in Azure NetApp Files oder Azure Files und einem Standardblob-, Archiv- und Sicherungsspeicher, der lokal redundant oder georedundant sein kann.
Azure SQL-Datenbank mit den Ebenen Hyperscale oder Unternehmenskritisch für hohe IOPS und hohe Betriebszeit-SLA. Außerdem wird Private Link für Azure SQL-Datenbank verwendet, um eine private, direkte Verbindung (isoliert vom Azure-Netzwerkbackbone) von den Azure-VMs zu Azure SQL-Datenbank zu bieten. Datenmigrationstools von Raincode können DMS-/RDMS-Schemas in SQL konvertieren.
Azure Blob Storage ist eine häufig verwendete Zielzone für externe Datenquellen.
Eine Implementierung von Active Directory Domain Services muss erstellt werden oder bereits vorhanden sein. Raincode bietet die Integration von RACF- und Top Secret-Identitäten über Active Directory-Erweiterungen.
Komponenten
Azure Kubernetes Service (AKS) ist ein vollständig verwalteter Kubernetes-Dienst zum Bereitstellen und Verwalten von Anwendungen in containerisierten Anwendungen auf containerbasierten Computeclustern.
Azure Virtual Network (VNET) ist der grundlegende Baustein für Ihr privates Netzwerk in Azure. Mit VNET können zahlreiche Arten von Azure-Ressourcen (beispielsweise virtuelle Azure-Computer) sicher untereinander sowie mit dem Internet und mit lokalen Netzwerken kommunizieren. VNET ähnelt einem herkömmlichen Netzwerk, das Sie in Ihrem Rechenzentrum betreiben, bietet jedoch zusätzliche Vorteile der Infrastruktur von Azure, z. B. Skalierbarkeit, Verfügbarkeit und Isolation.
Azure Files bietet vollständig verwaltete Dateifreigaben in der Cloud, auf die über das Branchenstandardprotokoll Server Message Block (SMB) zugegriffen werden kann. Azure-Dateifreigaben können gleichzeitig durch die Cloud oder lokale Bereitstellungen von Windows, Linux und macOS eingebunden werden.
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. Mit ExpressRoute können Sie Verbindungen mit Microsoft-Clouddiensten herstellen, z. B. Microsoft Azure und Office 365.
Azure Load Balancer arbeitet auf der vierten Schicht des OSI-Modells (Open Systems Interconnection). Der Dienst ist der zentrale Kontaktpunkt für Clients. Der Lastenausgleich verteilt Datenflüsse, die beim Front-End des Lastenausgleichs eingehen, auf die Instanzen des Back-End-Pools. Diese Datenflüsse werden gemäß den konfigurierten Lastenausgleichsregeln und Integritätstests behandelt. Bei den Back-End-Poolinstanzen kann es sich um virtuelle Azure-Computer oder um Instanzen in einer VM-Skalierungsgruppe handeln.
Azure SQL-Datenbank ist eine vollständig verwaltete PaaS-Datenbank-Engine (Platform as a Service), die immer basierend auf der neuesten stabilen Version von SQL Server und dem gepatchten Betriebssystem mit einer Verfügbarkeit von 99,99 % ausgeführt wird. SQL-Datenbank kümmert sich um Upgrades, Patches, Sicherungen, die Überwachung und um die meisten Datenbankverwaltungsfunktionen, ohne dass die Benutzer eingreifen müssen. Durch diese PaaS-Funktionen können Sie sich auf die unternehmenskritische, domänenspezifische Datenbankverwaltung und -optimierung konzentrieren.
Azure Cosmos DB ist ein Azure-PaaS-Dienst für NoSQL-Datenbanken.
Azure Database for PostgreSQL ist ein Azure-PaaS-Dienst für PostgreSQL-Datenbanken.
Szenariodetails
Diese Architektur veranschaulicht, wie die Raincode-Lösung auf Azure läuft. Raincode in Azure unterstützt die folgenden Features:
Zu 100 % threadsicherer und verwalteter Code für .NET und .NET Core.
Eine Lösung, die hauptsächlich darauf abzielt, Mainframes in eine cloudnative Architektur zu transformieren.
Native Unterstützung für statische oder dynamische SQL-Abfragen über SQL Server entweder lokal oder in Azure SQL DB.
Unterstützung für Db2 (über HIS von Microsoft) und SQL Server
Visual Studio-Integration mit Debugger, Compiler, Konfigurationen, IntelliSense, Codefärber und Projektverwaltung.
Unterstützung für alle COBOL-Datentypen mit Mainframespeicherdarstellung.
Nahtlose Integration in PL/I- und ASM370-Compiler.
Ein Repository mit Aufrufdiagrammen, Statistiken und anderen Informationen zur Kompilierzeit.
Native EBCDIC-Unterstützung zur Kompilierzeit und zur Runtime.
Die Migration zu einer modernen, verteilten Cloudinfrastruktur mithilfe von Raincode ermöglicht Ihnen:
Unterstützen Sie neue Entwicklung und Wartung in C#.
Befreien Sie sich von der finanziellen Last der COBOL-Lizenzierungskosten.
Verwenden Sie eine flexible und skalierbare Plattform, indem Sie die neuesten Technologien durch .NET Core nutzen.
Integrieren Sie sie in moderne Web- und mobile Anwendungen, um das Kundenerlebnis zu verbessern.
Transformieren Sie Ihre monolithischen Legacy-Anwendungen in eine mikro- oder serviceorientierte Architektur (SOA).
Steuern Sie Ihre Gesamtkosten (Total Cost of Ownership, TCO) mithilfe der Skalierbarkeits- und Verfügbarkeitsfunktionen von Azure.
Mögliche Anwendungsfälle
Viele Anwendungsfälle können vom Raincode-Compiler profitieren. Zu den Möglichkeiten gehören:
Unternehmen, die versuchen, Infrastruktur zu modernisieren und den hohen Kosten, Einschränkungen und der mangelnden Flexibilität zu entgehen, die mit Mainframecomputern verbunden sind.
Reduzierung der technischen Schulden durch Umstellung auf cloudnative Lösungen und DevOps.
Reduzieren der Vorgangskosten und Investitionskosten.
Unternehmen, die sich für die Verlagerung von Workloads auf IBM zSeries-Mainframes in die Cloud entscheiden, und zwar ohne die Nebenwirkungen einer vollständigen Neuentwicklung.
Kunden von IBM zSeries-Mainframes, die unternehmenskritische Anwendungen migrieren und gleichzeitig Kontinuität mit anderen lokalen Anwendungen gewährleisten müssen.
Teams, die sich die von Azure gebotene horizontale und vertikale Skalierbarkeit wünschen.
Unternehmen, die Lösungen mit Optionen zur Notfallwiederherstellung bevorzugen.
Nutzung der neuesten Softwareentwicklungsinnovationen: Tools, Frameworks, Sprachen und Methoden.
Überlegungen
Die folgenden Überlegungen gelten für diese Lösung.
Verfügbarkeit
- Die Raincode-Architektur verwendet Azure Site Recovery, um die Azure-VMs in einer sekundären Azure-Region für ein schnelles Failover und die Notfallwiederherstellung (DR, Disaster Recovery) bei Ausfall eines Azure-Rechenzentrums zu spiegeln.
Operations
Jeder Dienst einer cloudnativen Anwendung durchläuft einen unabhängigen Lebenszyklus, der über einen agilen DevOps-Prozess verwaltet wird.
Mehrere CI/CD-Pipelines (Continuous Integration/Continuous Delivery) können zusammen verwendet werden, um eine cloudnative Anwendung bereitzustellen und zu verwalten.
Effiziente Leistung
Cloudnative Anwendungen sind eine Sammlung unabhängiger und autonomer Dienste, die als Lightweight-Container verpackt sind.
Im Gegensatz zu virtuellen Computern können Container schnell auf- und abskaliert werden.
Da sich die Skalierungseinheit auf Container verlagert, wird die Infrastrukturnutzung optimiert.
Sicherheit
Diese Lösung verwendet eine Azure-Netzwerksicherheitsgruppe (NSG), um den Datenverkehr zwischen Azure-Ressourcen zu verwalten.
Private Link für Azure SQL-Datenbank bietet eine private, direkte Verbindung (isoliert vom Azure-Netzwerkbackbone) von den Azure-VMs zu Azure SQL-Datenbank.
Kostenoptimierung
Der Raincode COBOL-Compiler ermöglicht die Neuentwicklung in C# und beseitigt den finanziellen Aufwand der COBOL-Lizenzierungskosten.
Native Unterstützung für SQL und CICS. Der gedebuggte Quellcode ist identisch mit der Quelle, die verwaltet wird, und nicht die Ausgabe eines Vorprozessors.
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
Hauptautor:
- Jonathon Frost | Principal Software Engineer
Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.
Nächste Schritte
Um weitere Informationen zu erhalten, können Sie legacy2azure@microsoft.com kontaktieren oder die folgenden Ressourcen lesen:
Lesen Sie die technische Landschaft von Raincode.