Diese Architektur zeigt, wie Sie mit IMSql von Raincode IMS Database Manager (IMS DB) und IMS Transaction Manager (IMS TM) Systeme für .NET und SQL Server auf die einfachste Weise rehosten können, nämlich mithilfe virtueller Computer. Sie können Legacyanwendungen für .NET neu kompilieren und mit IMSql auf dieselbe Weise interagieren wie mit IMS auf einem Mainframe. IMSql stellt Mainframeanwendungen auf eine native Azure-Architektur um, wobei die Geschäftslogik vollständig erhalten bleibt.
Aufbau
IBM z/OS-Architektur,vor der Migration
Laden Sie eine Visio-Datei dieser Architektur herunter.
Datenfluss
A. Benutzer stellen eine Verbindung über TCP/IP über Protokolle wie TN3270 und HTTPS her.
B. Für Eingaben für das Mainframesystem werden Standard-Mainframekommunikationsprotokolle verwendet.
C. Anwendungen empfangen die Daten. Diese Anwendungen sind entweder Batch- oder Onlinesysteme.
D. COBOL, PL/I, Assembler oder andere kompatible Programmiersprachen werden in einer geeigneten Umgebung ausgeführt.
E. Datenbanksysteme, in der Regel hierarchische/Netzwerk- und relationale Systeme, speichern Daten.
F. Gängige Dienste, z. B. Programmausführung, E/A-Vorgänge, Fehlererkennung und Schutz innerhalb der Umgebung, bieten Unterstützung.
G. Middleware und Hilfsprogramme verwalten Dienste wie Bandspeicher, Warteschlangen, Ausgabe und Webdienste innerhalb der Umgebung.
H. Betriebssysteme werden auf Partitionen ausgeführt.
I. Partitionen führen separate Workloads aus und trennen Arbeitstypen innerhalb der Umgebung.
Azure-Architektur, nach der Migration
Laden Sie eine Visio-Datei dieser Architektur herunter.
Datenfluss
- IBM 3270-Terminalemulatoren stellen eine Verbindung mit IMS TM-Anwendungen her, die unverändert über den IMSql Terminal Server in Azure bereitgestellt werden.
- In JCL geschriebene Batchprozesse werden unverändert mithilfe temporärer Azure-Containerinstanzen ausgeführt, in denen der Raincode JCL-Interpreter ausgeführt wird. Kompilierte Legacyprogramme greifen mithilfe standardmäßiger IMS-APIs auf IMS DB zu. Raincode JCL kann seinen Katalog in jedem dateibasierten Speicher speichern.
- SQL Server-Sichten mit Lese-/Schreibzugriff auf die IMS-Daten ermöglichen modernen bzw. Business Intelligence-Anwendungen (wie Power BI), direkt mit IMS-Anwendungen zu kommunizieren und dabei von Mainframeelementen wie Datenstrukturen und Zeichencodierungen abstrahiert zu werden.
- Die Raincode Console bietet eine webbasierte Verwaltungsumgebung für IMSql.
- SQL Server Service Broker ist das Kommunikationsbackbone für IMSql-Komponenten.
Komponenten
- Azure Virtual Network ist der Grundbaustein für Ihr privates Netzwerk in Azure. Mit Virtual Network können zahlreiche Arten von Azure-Ressourcen wie VMs mit verbesserter Sicherheit miteinander sowie mit dem Internet und lokalen Netzwerken kommunizieren. Virtual Network ist wie ein herkömmliches Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben, bietet aber die Vorteile der Azure-Infrastruktur wie Skalierbarkeit, Verfügbarkeit und Isolation.
- Azure Virtual Machine Scale Sets ermöglicht eine automatisierte VM-Skalierung mit Lastenausgleich, die die Verwaltung Ihrer Anwendungen vereinfacht und die Verfügbarkeit erhöht.
- Azure SQL Managed Instance ist Teil des Azure SQL-Dienstportfolios und eine verwaltete, überaus sichere und stets aktuelle SQL-Instanz in der Cloud.
Alternativen
Sie können SQL Server auf einem virtuellen Azure-Computer als Alternative zu SQL Managed Instance verwenden. Wir empfehlen SQL Managed Instance in dieser Architektur aufgrund der Vorteile wie Hochverfügbarkeit, nahtlose Integration mit verschiedenen Azure-Diensten und Verwaltung der zugrunde liegenden Sicherheitspatches und Wartung.
Als Alternative zu Virtual Machine Scale Sets können Sie eine Azure-Architektur mit Einzel-VMs verwenden. Möglicherweise möchten Sie Einzel-VMs für Workloads einsetzen, die konstante Last- und Leistungsanforderungen haben und nicht skaliert werden müssen. In dieser Architektur wird Virtual Machine Scale Sets für typische IMS-Workloads verwendet.
Szenariodetails
Diese Architektur zeigt, wie Sie eine Mainframeworkload, der wichtige IMS-Features und -Funktionen aufweist, nahtlos in Azure rehosten können. Sie müssen Ihre vorhandene Anwendung nicht übersetzen oder ändern. Die Architektur verwendet IMSql und Azure SQL.
- Raincode-Compiler generieren zu 100 % threadgeschützten verwalteten Code für .NET. Die .NET-Assemblys werden dynamisch geladen und von IMSql-Verarbeitungsservern aufgerufen.
- IMSql ist grundsätzlich nicht transformierend. Der Quellcode (COBOL, PL/I) wird wie vorhanden beibehalten. Die IMS-spezifischen CBLTDLI- und PLITDLI-Aufrufe und EXEC DLI-Anweisungen werden nicht geändert. Diese Funktionalität gewährleistet eine optimale Wartbarkeit des resultierenden Systems. Dies gilt auch für IMS DB-Daten: Die Daten werden wie vorhanden in Massenvorgängen ohne Änderung, Bereinigung oder Normalisierung importiert.
- IMSql verwendet zuverlässiges, vielseitiges und skalierbares SQL Server als Datenbank, Transaktionsprozessor und Ausführungsplattform.
- IMSql kann in drei Modi betrieben werden:
- Online
- Batch
- Laden und Entladen (für die Datenmigration oder für JCLs, die sequenzielle Dateien produzieren oder nutzen)
- Auf Mainframes werden DBDs (Database Descriptions) und PSBs (Program Specification Blocks) kompiliert, um die Datenbank und die Beschreibung des Programms zu erstellen. Ebenso werden DBDs und PSBs für IMSql in eine XML-Darstellung kompiliert. Dank dieser Darstellung können IMS-fähige Programme feststellen, welche Datenbanksegmente zu ihnen gehören. Außerdem wird die Generierung verschiedener serverseitiger Artefakte für IMSql gesteuert, wie das Datenbankschema und gespeicherte Prozeduren.
Mögliche Anwendungsfälle
- Modernisieren der Infrastruktur und Wegfall der hohen Kosten, Einschränkungen und Unflexibilität, die mit IMS oder, allgemeiner, mit Mainframes verbunden werden
- Reduzieren technischer Schulden, indem cloudnative Lösungen implementiert und eine DevOps-Strategie unterstützt werden
- Verschieben von IMS-Workloads in die Cloud ohne die Nebenwirkungen einer vollständigen Neuentwicklung
- Verwenden unternehmenskritischer IMS-Anwendungen unter Beibehaltung von Kontinuität mit anderen lokalen Anwendungen
Überlegungen
Diese Überlegungen implementieren die Säulen des Azure Well-Architected-Frameworks, das eine Reihe von leitden Tenets ist, die verwendet werden können, um die Qualität einer Workload zu verbessern. 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 unter Prüfliste zur Entwurfsüberprüfung für Zuverlässigkeit.
- Diese OLTP-Architektur kann in mehreren Regionen bereitgestellt werden und eine georeplizierte Datenebene integrieren.
- Die Azure-Datenbankdienste unterstützen Zonenredundanz und können bei einem Ausfall oder zum Ermöglichen von Wartungsarbeiten ein Failover auf einen sekundären Knoten durchführen.
Sicherheit
Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für sicherheitsrelevante.
Bei dieser Lösung wird eine Azure-Netzwerksicherheitsgruppe verwendet, um den Datenverkehr zwischen Azure-Ressourcen zu verwalten. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen.
Diese Sicherheitsoptionen sind in Azure-Datenbankdiensten verfügbar:
- Datenverschlüsselung ruhender Daten
- Dynamische Datenmaskierung
- Always Encrypted-Daten
Allgemeine Informationen zum Entwerfen überaus sicherer SQL-Lösungen finden Sie in den Empfehlungen zur Azure-Sicherheit.
Kostenoptimierung
Bei der Kostenoptimierung geht es um Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Prüfliste für die Überprüfung der Kostenoptimierung.
- Durch die Ausführung auf Windows-VMs optimiert Azure die Kosten. Sie können virtuelle Computer deaktivieren, wenn sie nicht verwendet werden, und einen Zeitplan für bekannte Verwendungsmuster erstellen. Mit Azure können Sie unnötige Kosten vermeiden, denn Azure bestimmt die benötigte Anzahl von Ressourcentypen, analysiert die Ausgaben im Laufe der Zeit und nimmt Skalierungen so vor, dass die Geschäftsanforderungen ohne Budgetüberschreitung erfüllt werden.
- SQL Managed Instance bietet verschiedene Tarife, z. B. „Universell“ und „Unternehmenskritisch“, um Kosten basierend auf Nutzung und geschäftlicher Bedeutung zu optimieren.
- Verwenden Sie Azure-Reservierungen und den Azure-Sparplan für Compute mit einem Ein- oder Dreijahresvertrag, und erhalten Sie erhebliche Einsparungen im Vergleich mit nutzungsbasierten Preisen.
Verwenden Sie den Azure-Preisrechner, um die Kosten für die Implementierung dieser Lösung abschätzen zu können.
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
Hauptautor:
- Bhaskar Bandam | Senior Program Manager
Andere Mitwirkende:
- Mick Alberts | Technical Writer
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.
Zugehörige Ressourcen
Sehen Sie sich die Begleitarchitektur an:
Weitere zugehörige Ressourcen: