F: Was ist AWS Batch?

AWS Batch ist eine Sammlung von Batch-Verwaltungsfunktionen für Entwickler, Wissenschaftler und Techniker, mit denen Hunderttausende von Batch-Verarbeitungsaufträgen auf AWS ausgeführt werden können. AWS Batch stellt dynamisch die optimale Menge geeigneter Rechenressourcen bereit (z. B. CPU- oder RAM-optimierte Instanzen). Die Bereitstellung basiert auf den Volumen- und Ressourcenanforderungen der eingereichten Batch-Aufträge. AWS Batch erspart Ihnen die Installation und Verwaltung von Batch-Verarbeitungssoftware oder Serverclustern, sodass Sie sich ganz auf die Analyse der Ergebnisse und die Lösung von Problemen konzentrieren können. Die Vorbereitung, zeitliche Planung und Ausführung Ihrer Batch-Verarbeitungslasten erfolgt dabei mit Amazon EC2 und Spot-Instances.

F: Was ist Batch-Verarbeitung?
Bei der Batch-Verarbeitung werden eine Reihe von Programmen ("Aufträgen") ohne manuelle Intervention auf einem oder mehreren Computern ausgeführt. Die Eingabeparameter werden durch Skripts, Befehlszeilenargumente, Steuerdateien oder JCL (Job Control Language) bereitgestellt. Ein Batch-Auftrag kann von der Ausführung vorangegangener Aufträge oder von der Verfügbarkeit bestimmter Eingaben abhängig sein, wodurch die Sequenzierung und zeitliche Planung bei mehreren Aufträgen besonders wichtig ist. Mit einer interaktiven Verarbeitung ist dies praktisch nicht vereinbar.

F: Welche Vorteile bietet die Batch-Verarbeitung?

  • Die Batch-Verarbeitung kann die Auftragsverarbeitung auf Zeiten verlegen, zu denen mehr oder günstigere Kapazitäten zur Verfügung stehen.
  • Sie vermeidet den Leerlauf von Rechenressourcen, wie es bei häufigen manuellen Interventionen und Überwachungen oft der Fall ist.
  • Sie erhöht die Effizienz durch eine höhere Auslastung der Rechenressourcen.
  • Sie ermöglicht die Priorisierung von Aufträgen und damit die Abstimmung der Ressourcenzuweisungen an die Geschäftsziele.

F: Weshalb sollte ich AWS Batch verwenden?
AWS Batch übernimmt für Sie die Auftragsausführung und die Verwaltung der Rechenressourcen. Anstatt sich um die Einrichtung und Verwaltung der Infrastruktur zu kümmern, können Sie sich ganz auf die Anwendungsentwicklung und die Analyse der Ergebnisse konzentrieren. Wenn Sie planen, Batch-Arbeitslasten auf AWS auszuführen oder dorthin zu verlegen, sollten Sie AWS Batch verwenden.

F: Für welche Anwendungsfälle ist AWS Batch optimiert?
AWS Batch ist für die Batch-Verarbeitung sowie für Anwendungen optimiert, deren Umfang durch die Parallelausführung mehrerer Aufträge zunehmen kann. Hervorragend geeignet für die Batch-Verarbeitung sind beispielsweise Anwendungen wie Deep Learning, Genomik-Analysen, finanzmathematische Risikomodelle, Monte Carlo-Simulationen, Animationsberechnungen, Medien-Transcoding, Bildverarbeitung und Konstruktionssimulationen.


F: Was sind die wichtigsten Funktionen von AWS Batch?
AWS Batch verwaltet Rechenumgebungen und Auftragswarteschlangen, so dass Sie problemlos Tausende von Aufträgen jeder Größenordnung mit Amazon EC2 und EC2 Spot ausführen können. Sie brauchen Ihre Batch-Aufträge nur zu definieren und in eine Warteschlange einzureichen. Danach entscheidet AWS Batch, wo die Aufträge ausgeführt werden, wobei es bei Bedarf die hinzugezogenen AWS-Kapazitäten erweitern kann. AWS Batch überwacht den Fortschritt Ihrer Aufgaben. Nicht mehr benötigte Kapazitäten entfernt AWS Batch sofort. Darüber hinaus ermöglicht AWS Batch die Einreichung von Aufträgen als Teil einer Pipeline oder eines Workflows. Auf diese Weise können Sie beim Einreichen Abhängigkeiten zwischen Aufträgen definieren.

F: Welche Batch-Aufträge unterstützt AWS Batch?
AWS Batch unterstützt alle Aufträge, die als Docker-Container ausgeführt werden können. Mit den Aufträgen werden auch deren Arbeitsspeicheranforderungen sowie die erforderliche Anzahl an vCPUs angegeben.  

F: Was ist eine Rechenressource?
Eine AWS Batch-Rechenressource ist eine EC2-Instance.

F: Was ist eine Rechenumgebung?
Eine AWS Batch-Rechenumgebung ist eine Sammlung von Rechenressourcen für die Ausführung von Aufträgen. AWS Batch unterstützt zwei Arten von Rechenumgebungen: verwaltete Rechenumgebungen, die von AWS bereitgestellt und verwaltet werden, und nicht verwaltete Rechenumgebungen, die vom Kunden verwaltet werden. Nicht verwaltete Rechenumgebungen stellen einen Mechanismus bereit, durch den spezielle Ressourcen wie dedizierte Hosts, größere Speicherkonfigurationen und Amazon EFS genutzt werden können.

F: Was ist eine Auftragsdefinition?
Eine Auftragsdefinition spezifiziert den auszuführenden Auftrag, die Parameter, die Umgebungsvariablen, die Rechenanforderungen sowie weitere Informationen zur Optimierung der Auftragsausführung. Auftragsdefinitionen werden vor der Einreichung eines Auftrags definiert und können mit anderen Personen ausgetauscht werden.

F: Was ist der Amazon ECS-Agent und wie wird er von AWS Batch verwendet?
Zur Ausführung von Aufträgen in Containern bedient sich AWS Batch der Funktionalität von Amazon ECS. Deswegen muss der ECS-Agent auf den Rechenressourcen in Ihren AWS Batch-Rechenumgebungen installiert sein. In verwalteten Rechenumgebungen ist der ECS-Agent vorinstalliert.

F: Wie erleichtert AWS Batch die Verwendung von EC2 Spot?
AWS Batch-Rechenumgebungen können aus EC2 Spot-Instances bestehen. Geben Sie bei der Erstellung einer verwalteten Rechenumgebung einfach an, dass Sie EC2 Spot verwenden möchten, geben Sie einen Prozentsatz des On-Demand-Tarifs an, den Sie bieten möchten, und AWS Batch kümmert sich um den Rest. Auch nicht verwaltete Rechenumgebungen können von Ihnen gestartete Spot-Instances enthalten – einschließlich der von EC2 Spot Fleet gestarteten Instanzen.


F: Wie sieht das Preisangebot für AWS Batch aus?
Für die Nutzung von AWS Batch fallen keine zusätzlichen Gebühren an. Sie zahlen nur für die AWS-Ressourcen (z. B. EC2-Instances), die Sie zum Speichern und zur Ausführung Ihrer Batch-Aufträge erstellen.


F: Was sind die ersten Schritte?
Lesen Sie das Handbuch Erste Schritte in unserer Dokumentation, das Ihnen den Einstieg erleichtert.

F: Was muss ich für den Einstieg bereitstellen?
Für den Einstieg müssen Sie keine eigenen Rechenressourcen starten. Die Web-Konsole von AWS Batch leitet Sie durch die Erstellung Ihrer ersten Rechenumgebung und Auftragswarteschlange, so dass Sie Ihren ersten Auftrag in wenigen Minuten einreichen können. Die in Ihrer Rechenumgebung verfügbaren Ressourcen erweitern sich mit dem Hinzukommen weiterer ausführbarer Aufträge und verringern sich, wenn die Anzahl der ausführbaren Aufträge sinkt.