Software EntwicklungDigitalisierung

Microsoft Azure Batch

Für skalierende Auftragsplanung und Verwaltung von Rechenleistung in der Cloud.

28.Februar 2018 · 4 min Lesedauer

smartpoint Redaktion

Müssen Sie häufig umfangreiche Datenmengen verarbeiten? Diese Datenverarbeitung lässt sich automatisieren und parallelisieren? Dann ist Microsoft Azure Batch genau das Richtige für Sie. In diesem Artikel erfahren Sie, wie das funktioniert und wie Sie bei nicht zeitkritischen Aufgaben auch noch Geld sparen können.

Was ist Batchverarbeitung

Batchverarbeitung wird auf Deutsch auch Stapelverarbeitung genannt und beschreibt die Arbeitsweise von Computerprogrammen. Dabei wird eine bereitgestellte Menge an Aufgaben vollständig, automatisch und meist sequenziell für einen oder mehrere Datensätze durchgeführt.

Microsoft Azure Batch arbeitet diese Aufgaben parallel von mehreren Rechnern gemeinsam ab. Das führt zu einer deutlichen kürzeren Bearbeitungszeit und dass ohne eigene Hardware Ressourcen einzusetzen oder zu beschaffen.

Das funktioniert besonders gut mit leicht unterteilbaren Aufgaben, die so gleichzeitig auf mehreren Computern ausgeführt werden können.

Batch kann auch parallele Berechnungen mit abschließendem Reduzierungsschritt und komplexe HPC (High-Performance Computing) Aufgaben ausführen. High-Performance Computing ist computergestütztes Hochleistungsrechnen. Das Umfasst alle Rechenarbeiten, deren Bearbeitung eine hohe Rechenleistung oder Speicherkapazität benötigt.

Vorteile von Microsoft Azure Batch

Sind Aufgaben parallelisier- und automatisierbar, bietet Batch viele Vorteile:

  • Die Umgebung kann auf bis zu tausende von virtuellen Computern skaliert werden. So können auch umfangreiche Aufträge rasch abgearbeitet werden. (HPC)
  • Automatische Skalierung unabhängig von den Aufgaben in der Warteschlange möglich.
  • Die Applikationen müssen nur einmal in den zentralen Speicher hochgeladen werden. Die einzelnen virtuellen Computer holen sich die Applikation von dort, um sie zu installieren.
  • Zu bearbeitende Daten werden im zentralen Speicher aufbewahrt, auf den die virtuellen Computer zugreifen.
  • Geringe Kosten bei nicht zeitkritischen Aufgaben.
  • Nur bezahlen was wirklich genutzt wird – ohne große Investitionen.

Anwendungsfälle für Microsoft Azure Batch

Batch ist ein verwalteter Azure-Dienst für Batchverarbeitung. Dabei führt man große Mengen ähnlicher Aufgaben aus, um das gewünschte Ergebnis zu erzielen. Batchcomputing wird am häufigsten von Unternehmen eingesetzt, die regelmäßig große Mengen an Daten verarbeiten, transformieren und analysieren.

Häufige Verarbeitungs-Beispiele:

  • Risikomodellierung im Finanzbereich
  • Datenanalysen für die Bereiche Klima und Hydrologie
  • Bildrendering, -analyse und -verarbeitung
  • Mediencodierung und -transcodierung
  • Analyse genetischer Sequenzen
  • Belastungsanalysen für den Maschinenbau
  • Testen von Software

Beispiel für einen Batch-Workflow

Im folgenden Diagramm ist ein gängiger Batch-Workflow dargestellt, bei dem eine Clientanwendung oder ein gehosteter Dienst Batch zum Ausführen einer parallelen Arbeit verwendet.

  1. Eingabedateien und die Anwendung in das Azure Storage-Konto hochladen. Eingabedateien können alle Daten sein die von Ihrer Anwendung verarbeitet werden.
  2. Batch-Pool mit Computerknoten im Batch-Konto erstellen. Dabei folgenden Eigenschaften der virtuellen Computer bestimmen:
    - Knotengröße
    - Betriebssystem
    - Speicherort für zu installierende Anwendungen
    Für den Pool kann bei Bedarf eine automatische Skalierung konfiguriert werden. Dabei erfolgt eine dynamische Anpassung der Anzahl an Computerknoten im Pool an den Arbeitsaufwand.
  3. Batch Auftrag erstellen, um die Arbeit im Pool mit den Computerknoten auszuführen.
  4. Dem Auftrag Aufgaben zuordnen, die der Batch-Dienst automatisch für die Ausführung auf den Computerknoten im Pool einplant.
    • Bevor eine Aufgabe ausgeführt wird, können die zu verarbeitenden Daten auf den zugewiesenen Computerknoten heruntergeladen werden. Für Anwendungen, die noch nicht auf den Knoten installiert sind, kann dennoch ein Herunterladen erfolgen.
  5. Während der Ausführung der Aufgaben können Sie über Batch den Fortschritt des Auftrags überwachen.
  6. Nach abgeschlossener Ausführung können die Ergebnisdaten in den Azure-Storage hochgeladen, oder direkt auf dem Computerknoten abgerufen werden.
  7. Nach Abschluss der Aufgaben können Ausgabedateien zur weiteren Verarbeitung oder Auswertung heruntergeladen werden.

Dieser Anwendungsfall verwendet nur einige der verfügbaren Features von Batch, ist jedoch am häufigsten. Der folgende praktische Anwendungsfall verwendet Batch genau auf diese Art.

Konkreter Anwendungsfall: Gesammelte Maschinendaten konvertieren.

Maschinen sammeln inzwischen große Mengen an Daten. Sie speichern die Daten jedoch selten im richtigen Datenformat für anschließende Auswertungen. Für diesen Umbau großer Datenmengen sind entweder umfangreiche Rechenressourcen im eigenen Unternehmen nötig oder der Auftrag dauert monatelang.

Um diesen Datenumbau in einem aktuellen Kundenprojekt mit einem Maschinenhersteller aber rasch und unkompliziert umzusetzen, haben wir einen Azure Batch-Dienst eingerichtet. Dieser funktioniert mit folgendem Batch-Workflow.

(1) Hochladen der zu konvertierenden Maschinendaten.

(2) Auswählen der benötigten Computerressourcen (Batch-Pool).

(3) Batch Auftrag erstellen

(4) Die nötigen Aufgaben für den Datenumbau programmieren und dem Auftrag zuordnen

(5) Fortschritt überwachen

(6) Umgebaute Daten vom Azure-Storage herunterladen

So konnten wir auch umfangreiche Aufgaben (in diesem Projekt etwa drei Terabyte) in kurzer Zeit abarbeiten. An externen Kosten fällt nur die konkret benötigte Rechenleistung an. Bei nicht zeitkritischen Aufgaben erhält man zudem noch einen erheblichen Kostenvorteil. Mehr dazu unter dem Punkt „Azure Batch Preise“.

Microsoft Azure

Azure ist die Cloud-Computing-Plattform von Microsoft die sich in erster Linie an Softwareentwickler:innen richtet. Dabei ist Azure die einzige konsistente Hybrid Cloud am Markt, mit der man Apps entwickeln und diese auf verschiedenen Plattformen bereitstellen kann. Folgendermaßen kann man sie nutzen:

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)

Mehr dazu finden Sie HIER.

Datensicherheit

Um der allgemeinen Cloud Skepsis im deutschsprachigen Raum entgegenzuwirken, hat Microsoft das branchenweit einzigartige Versprechen gegeben, alle Daten uneingeschränkt zu schützen. Das spiegelt sich in folgenden Tätigkeiten wider:

  • Microsoft Azure ist der erste Cloudanbieter, bei dem die die für Datenschutz zuständigen EU-Behörden die Verpflichtung zur Einhaltung der strikten EU-Datenschutzgesetze anerkannt haben.
  • Als erster großer Cloudanbieter hat Microsoft den neuen internationalen Standard für Clouddatenschutz ISO 27018 umgesetzt.
  • Von Microsoft werden in der EU mehrere Rechenzentren betrieben.
  • Microsoft Azure wurde außerdem nach einer strengen, unabhängigen Prüfung der Sicherheitslage die CSA STAR-Bescheinigung zuerkannt.

Microsoft Azure Batch Preise

Das Azure Batch Konto ist kostenlos. Kostenpflichtig sind nur die verwendeten Azure Computerressourcen und der Speicherplatz des Azure-Storage.

Virtuelle Computer mit niedriger Priorität können die Kosten Batch Anwendungen erheblich reduzieren. Details zu Preisinformationen für Microsoft Azure Batch finden Sie HIER.

Fragen oder Feedback?

Haben Sie Fragen zu unseren Themen oder möchten uns Feedback zum Blog geben? Dann freue ich mich auf Ihre Nachricht.

Lisa-Marie Linhart

Marketing Specialist
E-Mail schreiben