Entwurf für Azure Batch-Lösungen

Abgeschlossen

Azure Batch führt umfangreiche Anwendungen effizient in der Cloud aus. Sie können rechenintensive Aufgaben planen und Ressourcen für Ihre Lösung dynamisch anpassen, ohne Infrastruktur zu verwalten. Mit Azure Batch kann ein Pool von Computeknoten (virtuellen Computern) erstellt und verwaltet werden. Azure Batch ermöglicht auch die Installation der Anwendung, die Sie ausführen möchten, und die Planung von Aufträgen, die auf den Computeknoten ausgeführt werden sollen.

Wissenswertes zu Azure Batch

Es gibt viele Szenarien, in denen Azure Batch eine ideale Computelösung für Ihre Infrastruktur sein kann. Azure Batch ähnelt Azure Virtual Machines und kann verwendet werden, um neue Workloads zu erstellen und Daten zu migrieren.

Flussdiagramm, das die Entscheidungsstruktur für die Auswahl von Azure Batch zum Erstellen neuer Workloads sowie zur Unterstützung von Lift and Shift oder cloudoptimierten Migrationen zeigt.

  • Azure Batch eignet sich gut für Anwendungen, die unabhängig ausgeführt werden (parallele Workloads).

  • Azure Batch ist für Anwendungen geeignet, die miteinander kommunizieren müssen (eng gekoppelte Workloads). Mit Batch können Sie einen Dienst erstellen, der eine Monte-Carlo-Simulation für ein Finanzdienstleistungsunternehmen durchführt, oder einen Dienst zur Verarbeitung von Bildern.

  • Azure Batch ermöglicht umfangreiche parallele und Hochleistungscomputing-Batchaufträge (HPC) mit der Möglichkeit zur Skalierung auf Dutzende, Hunderte oder Tausende von virtuellen Computern. Wenn Sie einen Auftrag ausführen möchten, ist Azure Batch die richtige Wahl. Dieser Dienst hat folgende Vorteile:

    • Startet automatisch einen Pool von Compute-VMs für Sie.
    • Installiert Anwendungen und stellt Stagingdaten bereit
    • Führt Aufträge mit allen vorhandenen Aufgaben aus
    • Identifiziert Fehler, stellt Arbeit erneut in die Warteschlange und skaliert den Pool nach Abschluss der Arbeit herunter.

Funktionsweise von Azure Batch

Ein typisches, reales Azure Batch-Szenario erfordert Daten und Anwendungsdateien. Der Batch-Workflow beginnt mit dem Hochladen der Daten und Anwendungsdateien in ein Azure Storage-Konto. Dann wird bedarfsabhängig ein Batch-Pool erstellt, der so viele virtuelle Windows- oder Linux-Computeknoten enthält, wie erforderlich sind. Wenn der Bedarf zunimmt, können Computeknoten automatisch skaliert werden.

Diagramm, das zeigt, wie Azure Batch zum Hochladen, Herunterladen, Erstellen und Überwachen von Aufgaben funktioniert.

Wenn Sie Ihre eigene Konfiguration planen, können Sie Aspekte des Szenarios in zwei Bereiche unterteilen: Ihren Dienst und Azure Batch-Compute.

  • Ihr Dienst verwendet Azure als Plattform. Die Plattform wird zum Erledigen rechenintensiver Aufgaben und zum Abrufen von Ergebnissen verwendet. Sie können auch den Fortschritt von Aufträgen und Aufgaben überwachen.

  • Azure Batch fungiert als Computeplattform hinter Ihrem Dienst. Batch verwendet Azure Storage, um Anwendungen oder Daten abzurufen, die zum Ausführen einer Aufgabe erforderlich sind. Azure Batch schreibt die Ausgabe in Azure Storage. Hinter den Kulissen sind Pools als Sammlungen virtueller Computer vorhanden. Pools sind die Ressourcen, auf denen Aufträge und Aufgaben ausgeführt werden.

Zu beachtende Punkte bei der Verwendung von Azure Batch

Sehen wir uns einige bewährte Methoden für die Verwendung von Azure Batch an. Während Sie die Vorschläge überprüfen, überlegen Sie, welche Szenarien durch die Integration von Azure Batch in die Tailwind Traders-Infrastruktur realisiert werden können.

  • Berücksichtigen von Pools. Wenn Ihre Aufträge aus kurzen Aufgaben bestehen, sollten Sie nicht für jeden Auftrag einen neuen Pool anlegen. Der Mehraufwand für die Erstellung neuer Pools beeinträchtigt die Laufzeit des Auftrags. Außerdem ist es am besten, wenn Ihre Aufträge Pools dynamisch verwenden. Wenn Ihre Aufträge den gleichen Pool für alles verwenden, besteht eine höhere Wahrscheinlichkeit für einen Fehler.

  • Berücksichtigen Sie Knoten. Es ist nicht garantiert, dass einzelne Knoten immer verfügbar sind. Wenn Ihre Azure Batch-Workload deterministischen, garantierten Fortschritt erfordert, sollten Sie Pools mit mehreren Knoten zuordnen. Ziehen Sie die Verwendung von isolierten VM-Größen für Workloads mit Compliance- oder regulatorischen Anforderungen in Betracht.

  • Erwägen Sie Aufträge. Benennen Sie Ihre Aufträge eindeutig, damit Sie die Aktivität genau überwachen und protokollieren können. Überlegen Sie, ob Sie Ihre Aufgaben in effizient dimensionierte Aufträge gliedern sollten. Es ist effizienter, einen einzelnen Auftrag mit 1.000 Aufgaben zu verwenden, statt 100 Aufträge mit jeweils 10 Aufgaben zu erstellen.