Bearbeiten

Freigeben über


Neu engineeringen von Großrechnerbatchanwendungen in Azure

Azure Data Factory
Azure Databricks
Azure Kubernetes Service (AKS)
Azure SQL-Datenbank
Azure Storage

Diese Referenzarchitektur zeigt, wie Sie Azure verwenden können, um eine Z/OS-Batchanwendung neu zu entwickeln, um ein sicheres, skalierbares und hochverwendbares System in der Cloud mithilfe von Azure bereitzustellen. Aufgrund sich ständig weiterentwickelnder Geschäftsanforderungen müssen Daten und Anwendungen ohne Auswirkungen auf Ihre Infrastruktur bereitstellen und skalieren. Re engineering to the Cloud can help business in finance, health, insurance, and retail minim their product or feature delivery times, and reduce costs.

Großrechnerarchitektur

Das erste Diagramm zeigt die Architektur einer typischen Batchanwendung, die auf einem Z/OS-Mainframe ausgeführt wird.

Diagramm einer typischen Batchanwendung, die auf einem Z/OS-Mainframe ausgeführt wird.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Arbeitsablauf

  1. Großrechnerbatchprozesse können zu einem geplanten Zeitpunkt mithilfe eines Operations-, Planning- und Control-Schedulers (OPC) ausgelöst werden. Sie können auch durch eine Nachricht ausgelöst werden, die in einer Nachrichtenwarteschlange platziert wurde, z. B. eine Nachricht, die angibt, dass eine Datei erstellt wurde.

  2. Ein Mainframe-Direct-Access-Speichergerät (DASD) wird verwendet, um Eingabe- und Ausgabedateien zu speichern; Beispiel: Flache Dateien, die von der Anwendung benötigt werden. Sie können den Batchprozess auslösen, indem Sie eine Datei im DASD-Speicher erstellen.

  3. Der Batchprozess ist eine Ausführung einer Reihe von Aufträgen, z. B. ein Auftrag, der intern einen Benutzer oder ein Systemprogramm ausführt, um eine bestimmte Aufgabe auszuführen. In der Regel werden Batchprozesse ohne Benutzerinteraktion ausgeführt. Alle Batchaufträge auf einem Großrechner werden unter kontrolle eines Auftragsausführungssystems (JES) ausgeführt.

  4. Programme in Batchprozessen können Daten lesen/schreiben aus:

    • Eine dateibasierte Datenbank wie die Virtual Storage Access-Methode (Virtual Storage Access Method, VSAM).
    • Eine relationale Datenbank wie Db2 oder Informix.
    • Eine nicht relationale Datenbank wie das Information Management System (IMS).
    • Eine Nachrichtenwarteschlange.
  5. Die Ausgabe der Auftragsausführung kann über einen OPC-Planer oder einen Workload Scheduler (TWS) überwacht werden. Eine Systemanzeige- und Sucheinrichtung (SYSTEM Display and Search Facility, SDSF) in der JES wird auch auf dem Mainframe verwendet, um den Auftragsausführungsstatus zu überprüfen.

  6. Die Verwaltungsebene bietet die folgenden Dienste:

    • Quellcodeverwaltung, z. B. Endevor oder Changeman.
    • Sicherheit, z. B. Ressourcenzugriffskontrolleinrichtung (Resource Access Control Facility, RACF). Diese Sicherheit stellt die Authentifizierung für die Ausführung von Batches, den Zugriff auf Dateien und den Zugriff auf die Datenbank bereit.
    • Ausgabeverwaltung, die die Speicherung und Suche von Auftragsausführungsprotokollen unterstützt.

Azure-Architektur

Das zweite Diagramm zeigt, wie Sie Azure-Dienste verwenden können, um eine ähnliche Anwendung mit zusätzlichen Funktionen und Flexibilität neu zu entwickeln.

Diagramm einer Batchanwendung, die mithilfe von Azure-Diensten neu entwickelt wurde. Mehrere Beispieldienste sind enthalten.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Arbeitsablauf

  1. Verwenden Sie einen der folgenden Trigger, um den Azure-Batchprozess zu starten.

    • Verwenden Sie den Azure Databricks Auftragsplaner oder Azure Function Scheduler.
    • Erstellen Sie eine wiederkehrende Batchprozessaufgabe mit Azure Logic Apps.
    • Verwenden Sie ein Speicherereignis, z. B. das Erstellen oder Löschen einer Datei in Azure Blob oder Dateispeicher.
    • Verwenden Sie einen nachrichtenbasierten Trigger, z. B. das Eintreffen einer Nachricht auf dem Azure Service Bus.
    • Erstellen Sie einen Azure Data Factory Trigger.
  2. Speichern Sie Dateien, die mithilfe von Azure Blob Storage oder Azure Files aus dem Großrechner migriert wurden. Batchprozesse, die in Azure neu entwickelt wurden, können Daten aus diesem Speicher lesen/schreiben.

  3. Azure stellt verschiedene Dienste bereit, um eine Batchworkload-Workload für den Mainframe zu implementieren. Wählen Sie bestimmte Dienste aus, die auf Ihren Geschäftlichen Anforderungen basieren. Beispielsweise die erforderliche Berechnungsleistung, die Gesamtausführungszeit, die Möglichkeit, den Batchprozess des Großrechners in kleinere Einheiten aufzuteilen und die Kostenempfindlichkeit zu berücksichtigen.

    1. Azure Databricks ist eine Apache Spark-basierte Analyseplattform. Aufträge können in den Sprachen R, Python, Java, Scala und Spark SQL geschrieben werden. Es bietet eine Computeumgebung mit schnellen Clusterstartzeiten, automatischer Beendigung und automatischer Skalierung. Es verfügt über eine integrierte Integration in Azure Storage wie Azure Blob Storage und Azure Data Lake Storage. Verwenden Sie Azure Databricks, wenn Sie große Datenmengen in kurzer Zeit verarbeiten müssen. Es ist auch eine gute Wahl, wenn Sie Extract-, Transform- und Load-Workloads (ETL) ausführen müssen.
    2. AKS und Service Fabric bieten eine Infrastruktur zum Implementieren einer dienstbasierten Anwendungsarchitektur. Es ist möglicherweise nicht kosteneffizient für eine einzelne Anwendung. Sie können Ihre Großrechneranwendung mithilfe von Java Spring Boot umgestalten. Die beste Möglichkeit zum Ausführen von Spring Boot-Apps in Azure ist die Verwendung von Azure Spring Apps, einem vollständig verwalteten Spring-Dienst. Java-Entwickler können es verwenden, um Spring Boot Microservices auf Azure einfach zu erstellen und auszuführen.
    3. Sie können Ihre Großrechnerbatchanwendung mithilfe von .NET oder Java neu entwickeln. Batch stellt die Infrastruktur bereit, um diese Anwendung im großen Maßstab auszuführen. Es erstellt und verwaltet einen Pool von virtuellen Computern (VMs), installiert die Anwendungen und plant dann Aufträge für die Ausführung auf den virtuellen Computern. Es gibt keine Cluster- oder Auftragsplanungssoftware zum Installieren, Verwalten oder Skalieren. Schreiben Sie Anwendungen in jeder programmiersprache, die von Windows oder Linux unterstützt wird.
    4. Sie können kurz laufende COBOL- oder PL/1-Batchprogramme neu entwickeln. Verwenden Sie für diese Programme Azure-Dienste wie Funktionen, WebJobs oder Logik-Apps.
  4. Azure bietet verschiedene Datendienste zum Speichern und Abrufen von Daten.

    • Sie können relationale Großrechnerdatenbanken wie Db2 und Informix mit minimalen Änderungen an der Sichtbarkeit der Azure relationalen Datenbankangebote migrieren. Beispielsweise relationale Datenbankdienste wie Azure SQL VM, Azure SQL DB oder Azure SQL MI. Sie können auch jedes open-source Relational Database Management System (RDBMS) wie Azure PostgreSQL verwenden. Die Auswahl einer Azure-Datenbank hängt vom Typ der Workload, datenbankübergreifenden Abfragen, zweistufigen Commitanforderungen und vielen anderen Faktoren ab.
    • Sie können nicht relationale Großrechnerdatenbanken wie IMS, Integrated Data Management System (IDMS) oder VSAM zu Azure Cosmos DB migrieren. Azure Cosmos DB bietet schnelle Reaktionszeiten, automatische und sofortige Skalierbarkeit und garantierte Geschwindigkeit in jedem Maßstab. Es ist eine kostengünstige Option für unvorhersehbare oder sporadische Workloads beliebiger Größe oder Skalierung. Entwickler können ganz einfach loslegen, ohne kapazität planen oder verwalten zu müssen.
    • Sie können Azure Cache für Redis verwenden, um eine neu entwickelte Anwendung zu beschleunigen.
  5. Anwendungen, das Betriebssystem und Azure-Ressourcen können Agents verwenden, um Protokolle und Metriken an Azure Monitor Logszu senden.

    • Application Insight überwacht Ihre migrierte Anwendung. Es erkennt automatisch Leistungsanomalien und enthält leistungsstarke Analysetools, die Ihnen bei der Diagnose von Problemen helfen.
    • Azure Log Analytics- hilft beim Speichern, Index, Abfragen und Ableiten von Analysen aus den gesammelten Protokolldaten.

    Sie können die Ausgabe von Log Analytics und Application Insights verwenden, um Warnungen und Dashboards zu erstellen oder in externe Dienste zu exportieren. Sie können die Ausgabe auch verwenden, um eine Aktion wie die Skalierung einer VM auszuführen.

  6. Diese Stufe stellt Azure-Dienste für quellcodeverwaltung, Sicherheit und Ausgabeverwaltung bereit. Diese Dienste können aus Azure DevOps und Microsoft Entra ID bestehen.

Komponenten

Netzwerk und Identität

  • Azure ExpressRoute: Mit ExpressRoute können Sie Ihre lokalen Netzwerke über eine private Verbindung von einem Verbindungsanbieter in die Microsoft-Cloud erweitern. Mit ExpressRoute können Sie Verbindungen zu Microsoft-Clouddiensten wie Microsoft Azure und Office 365 herstellen.
  • Azure VPN-Gateway: Ein VPN-Gateway ist ein bestimmter Typ von virtuellem Netzwerkgateway, das verwendet wird, um verschlüsselten Datenverkehr zwischen einem virtuellen Azure-Netzwerk und einem lokalen Standort über das öffentliche Internet zu senden.
  • Microsoft Entra ID: Microsoft Entra ID ist ein Identitäts- und Zugriffsverwaltungsdienst, der mit einem lokalen Verzeichnis synchronisiert werden kann.

Anwendung

  • Logik-Apps: Logik-Apps helfen Ihnen beim Erstellen und Ausführen automatisierter Wiederkehrender Aufgaben und Prozesse in einem Zeitplan. Sie können Dienste innerhalb und außerhalb von Azure wie HTTP- oder HTTPS-Endpunkten aufrufen. Sie können Nachrichten auch in Azure-Diensten wie Azure Service Bus posten oder Dateien in eine Dateifreigabe hochladen.
  • ServiceBus-: Sie können den ServiceBus für Messaging zwischen einer Benutzeroberfläche und Back-End-Diensten verwenden. Dieses System kann Anwendungen und Dienste entkoppeln und die Zuverlässigkeit und Nutzung erhöhen.
  • Azure Databricks: Azure Databricks ist ein cloudbasiertes Datentechniktool, das zum Verarbeiten und Transformieren großer Datenmengen verwendet wird. Anschließend können Sie diese Daten mithilfe von Machine Learning-Modellen untersuchen.
  • Azure Spring Apps: Azure Spring Apps erleichtert das Bereitstellen, Verwalten und Ausführen von Spring Microservices in Azure. Es unterstützt sowohl Java als auch .NET Core.
  • AKS: AKS vereinfacht die Bereitstellung eines verwalteten Kubernetes-Clusters in Azure, indem der Betriebsaufwand in Azure deaktiviert wird.
  • Batch-: Batch ist so konzipiert, dass batchcomputing in der Cloud über viele VMs ausgeführt wird, die basierend auf der ausgeführten Workload skaliert werden können. Es eignet sich perfekt für ETL- oder KI-Anwendungsfälle, in denen mehrere Aufgaben parallel ausgeführt werden, unabhängig voneinander.
  • Funktionen: Verwenden Sie Funktionen, um kleine Codeteile auszuführen, ohne sich Gedanken über die Anwendungsinfrastruktur machen zu müssen. Mit Funktionen stellt die Cloudinfrastruktur alle up-to-Datumsserver bereit, die Sie benötigen, um ihre Anwendung im Maßstab zu halten.
  • Azure App Service: Mit WebJobskönnen Sie eine wiederverwendbare Hintergrund-Geschäftslogik als Webaufträge codiert.
  • Azure Cache für Redis: Anwendungen, die ein hohes Volumen von Back-End-Daten verwenden, können entwickelt werden, um eine hochoptimierte Leistung zu erzielen, indem sie in einen speicherinternen Datenspeicher wie Redis integriert wird. Azure Cache for Redis bietet sowohl redis open-source (OSS Redis) als auch ein kommerzielles Produkt von Redis Labs, Redis Enterprise, als verwalteter Dienst.

Lagerung

Azure Storage bietet mehrere Ebenen von Hot-, Cool- und Archivdaten. Eine effektive Nutzung dieser Speicherebenen kann Ihnen einen Preis-zu-Leistungs-Vorteil bieten.

  • Blob Storage-: Skalierbarer und sicherer Objektspeicher für cloudeigene Workloads, Archive, Datenseen, hochleistungsfähiges Computing und maschinelles Lernen.
  • Azure Files: Einfache, sichere und serverlose Cloud-Dateifreigaben auf Unternehmensniveau. Azure Files kann besonders nützlich für neu entwickelte Großrechnerlösungen sein. Es stellt ein effektives Add-On für den verwalteten SQL-Speicher bereit.
  • Tabellenspeicher: Ein NoSQL-Schlüsselwertspeicher für schnelle Entwicklung mit großen halbstrukturierten Datasets.
  • Azure Queue Storage: Einfache, kostengünstige und dauerhafte Nachrichtenwarteschlange für große Workloads.
  • Azure SQL: Die vollständig verwaltete Azure-Dienstfamilie für SQL Server. Sie können die relationalen Daten effizient mit anderen Azure-Diensten wie Azure SQL Managed Instance, SQL Server auf virtuellen Azure-Computern und Azure-Datenbank für MariaDB migrieren und verwenden.
  • Azure Cosmos DB: Ein No-SQL-Angebot, mit dem Sie nicht tabellarische Daten aus den Mainframes migrieren können.

Überwachung

  • Azure Monitor: Azure Monitor bietet eine umfassende Lösung zum Sammeln, Analysieren und Handeln von Telemetrie aus Cloud- und lokalen Umgebungen. Sie enthält die Funktionen Application Insights, Azure Monitor Logs und Azure Log Analytics.

Management

  • Azure DevOps-: Entwickeln Sie Während jeder Phase der Zusammenarbeit von Softwareentwicklung und Teamarbeit Großrechneranwendungen auf Azure neu. DevOps bietet die folgenden Dienste:

    • Azure Boards: Agile Planung, Nachverfolgung von Arbeitsaufgaben, Visualisierung und Berichterstellungstool.
    • Azure Pipelines: Eine Sprache, Plattform und cloudagnostische CI/CD-Plattform mit Unterstützung für Container oder Kubernetes.
    • Azure Repos: Stellt in der Cloud gehostete private Git-Repositorys bereit.
    • Azure Artifacts: Bietet integrierte Paketverwaltung mit Unterstützung für Maven-, npm-, Python- und NuGet-Paketfeeds aus öffentlichen oder privaten Quellen.
    • Azure Test Plans: bietet eine integrierte, geplante und explorative Testlösung.

Szenariodetails

Großrechner werden in erster Linie für die Verarbeitung großer Datenmengen verwendet. Die Batchverarbeitung ist eine Möglichkeit, eine große Anzahl von Transaktionen zu verarbeiten, die gruppiert sind, und dann Massenaktualisierungen für die Datenbank vornehmen. Nach dem Auslösen ist eine minimale Benutzerinteraktion erforderlich. Beispielsweise ermöglichen Großrechnersysteme Banken und anderen Finanzinstituten die Abwicklung von Quartalsverarbeitungen und die Erstellung von Berichten, z. B. vierteljährlichen Aktien- oder Pensionsabschlüssen.

Potenzielle Anwendungsfälle

Diese Lösung eignet sich ideal für die Finanz-, Versicherungs-, Gesundheits- und Einzelhandelsindustrie. Verwenden Sie diese Architektur, um Großrechneranwendungen in Azure neu zu entwickeln. Die Architektur funktioniert am besten für:

  • Ressourcenintensive Großrechnerbatchanwendungen.
  • Batchanwendungen, die eine hohe Berechnung während einer bestimmten Zeit benötigen, z. B. Ende des Monats, Quartals oder Jahres.
  • Mainframebatchprozesse, die sich wiederholen und nicht ressourcenintensiv sind, aber möglicherweise von externen Systemen genutzt werden müssen.

Betrachtungen

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 die Verpflichtungen erfüllen kann, die Sie an Ihre Kunden vornehmen. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für Zuverlässigkeit.

  • Sie können Azure Monitor und Application Insights zusätzlich zu Log Analytics verwenden, um den Status einer Azure-Ressource zu überwachen. Legen Sie Warnungen fest, um den Ressourcenstatus proaktiv zu verwalten.
  • Weitere Informationen zur Ausfallsicherheit in Azure finden Sie unter Entwerfen zuverlässiger Azure-Anwendungen.

Sicherheit

Die Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für sicherheitsrelevante.

  • Diese Referenzarchitektur verwendet ExpressRoute für eine private und effiziente Verbindung mit Azure aus der lokalen Umgebung. Sie können jedoch auch eine Website zum Standort-VPN-erstellen.
  • Sie können Azure-Ressourcen mithilfe der Microsoft Entra-ID authentifizieren. Sie können Berechtigungen mit rollenbasierter Zugriffssteuerung (RBAC) verwalten.
  • Datenbankdienste in Azure unterstützen verschiedene Sicherheitsoptionen wie die Datenverschlüsselung im Ruhezustand.
  • Weitere Informationen zum Entwerfen sicherer Lösungen finden Sie in Azure-Sicherheitsdokumentation.

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.

Verwenden Sie den Azure-Preisrechner, um Kosten für Azure-Ressourcen zu schätzen.

Eine Beispielkostenschätzung für Dienste finden Sie unter Batchanwendung für Azure-Großrechner.

Operative Exzellenz

Operational Excellence deckt die Betriebsprozesse ab, mit denen eine Anwendung bereitgestellt und in der Produktion ausgeführt wird. Weitere Informationen finden Sie unter Prüfliste für die Überprüfung von Operational Excellence.

  • Die Batcharchitektur in diesem Artikel verwendet Multi-Node Computing- oder PaaS-Dienste, die hohe Verfügbarkeit bieten.
  • Azure-Datenbankdienste unterstützen Zonenredundanz, und Sie können sie so entwerfen, dass ein Failover auf einen sekundären Knoten erfolgt, wenn ein Ausfall oder während eines Wartungsfensters auftritt.

Leistungseffizienz

Die Leistungseffizienz ist die Fähigkeit Ihrer Arbeitsauslastung, um die Anforderungen zu erfüllen, die die Benutzer auf effiziente Weise an sie stellen. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für die Leistungseffizienz.

  • Die folgenden Azure-Dienste in dieser Architektur verfügen über automatische Skalierungsfunktionen:

    • Azure Databricks
    • AKS
    • Spring Apps
    • Stapel
    • Azure-Funktionen
    • Logik-Apps
  • Weitere Informationen zur automatischen Skalierung in Azure finden Sie im Leitfaden zur automatischen Skalierung.

Beitragende

Dieser Artikel wird von Microsoft verwaltet. Sie wurde ursprünglich von den folgenden Mitwirkenden verfasst.

Hauptautor:

Um nicht öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.

Nächste Schritte