In AWS Batch verpacken Sie Ihren Code für Batch-Aufträge, geben deren Abhängigkeiten an und übertragen die Batch-Aufträge dann über die AWS-Managementkonsole bzw. über CLIs oder SDKs. In AWS Batch können Sie Ausführungsparameter und Auftragsabhängigkeiten angeben. Zudem vereinfachen Sie sich durch Batch die Integration mit zahlreichen gängigen Workflow-Engines und Sprachen für die Batch-Verarbeitung wie Pegasus WMS, Luigi und AWS Step Functions. AWS Batch stellt Amazon EC2- und Spot-Instances effizient entsprechend Ihrer Auftragsabhängigkeiten bereit. Die Skalierung der Instanzen erfolgt dabei automatisch. AWS Batch stellt Standard-Auftragswarteschlangen und Rechenumgebungsdefinitionen bereit, die Ihnen den Start erleichtern.

Unterstützung für eng gekoppelte HPC-Workloads

AWS Batch unterstützt parallele Aufträge mit mehreren Knoten, was es Ihnen ermöglicht, einzelne Aufträge auszuführen, die mehrere EC 2-Instances umfassen. Mit dieser Funktion können Sie AWS Batch verwenden, um Workloads wie große, eng gekoppelte HPC-Anwendungen (High Performance Computing) oder verteilte GPU-Modelltrainings einfach und effizient auszuführen. AWS Batch unterstützt auch Elastic Fabric Adapter, eine Netzwerkschnittstelle, mit der Sie Anwendungen ausführen können, für die ein hohes Maß an Kommunikation zwischen Knoten in AWS erforderlich ist. 

Differenzierte Auftragsdefinitionen

In AWS Batch können Sie Ressourcenanforderungen wie vCPU und Arbeitsspeicher, AWS Identity and Access Management (IAM)-Rollen, Volume-Mountpunkte, Container-Eigenschaften und Umgebungsvariablen angeben, mit denen Sie festlegen, wie die Aufträge ausgeführt werden. AWS Batch führt Ihre Aufträge unter Amazon ECS als Anwendungen in Containern aus.

Einfache Modellierung von Auftragsabhängigkeiten

In AWS Batch können Sie zwischen Aufträgen Abhängigkeiten definieren. Ein Batch-Auftrag kann beispielsweise aus drei Verarbeitungsstufen bestehen, für die jeweils andere Ressourcen benötigt werden. Wenn Sie Abhängigkeiten verwenden, können Sie drei Aufträge mit unterschiedlichen Ressourcenanforderungen erstellen und jeden nachfolgenden Auftrag vom vorherigen abhängig machen.

AWS Batch kann mit kommerziellen und Open-Source-Workflow-Engines und -Sprachen wie Pegasus WMS, und Luigi integriert werden. Sie können Ihre Batch-Rechen-Pipelines daher in Ihnen vertrauten Workflow-Sprachen modellieren.

Dynamische Bereitstellung und Skalierung von Rechenressourcen

AWS Batch stellt verwaltete Rechenumgebungen bereit, die Rechenressourcen dynamisch entsprechend der Mengen- und Ressourcenanforderungen der übergebenen Aufträge bereitstellen. Sie können Ihre AWS Batch Managed Compute-Umgebungen mit Anforderungen wie dem Typ der EC2-Instances, den VPC-Subnetzkonfigurationen, den minimalen/maximalen/gewünschten vCPUs für alle Instances und dem Betrag konfigurieren, den Sie bereit sind, für Spot-Instances als Prozentsatz des On-Demand Instance-Preis.

Alternativ können Sie für Rechenumgebungen, die nicht von AWS Batch verwaltet werden, Ihre eigenen Rechenressourcen bereitstellen und verwalten, wenn Sie für Ihre EC2-Instances andere Konfigurationen benötigen, als AWS Batch in seinen verwalteten Rechenumgebungen bereitstellt (z. B. größere EBS-Mengen oder ein anderes Betriebssystem). Sie brauchen lediglich EC2-Instances mit dem Amazon ECS-Agenten bereitzustellen und unterstützte Versionen von Linux und Docker auszuführen. AWS Batch führt Ihre Batch-Aufträge dann in den von Ihnen bereitgestellten EC2-Instances aus.

Auftragsplanung nach Prioritäten

In AWS Batch können Sie mehrere Warteschlangen mit unterschiedlichen Prioritätsstufen einrichten. Ihre Batch-Aufträge verbleiben solange in diesen Warteschlangen, bis zu deren Ausführung die erforderlichen Rechenressourcen verfügbar sind. Der AWS Batch-Planer ermittelt auf Basis der Ressourcenanforderungen der jeweiligen Aufträge, wann, wo und wie die in die Warteschlange eingereihten Aufträge ausgeführt werden. Des Weiteren ermittelt der Planer die Priorität der Warteschlangen und führt die Aufträge entsprechend der Priorität optimal verfügbarer Rechenressourcen aus (z. B. Arbeitsspeicher vs. CPU optimiert), sofern die Aufträge nicht auf Abhängigkeiten warten.

Integrierte Überwachung und Protokollierung

AWS Batch zeigt die wichtigsten Betriebsmetriken Ihrer Batch-Aufträge in der AWS-Managementkonsole an. Hier können Sie Metriken zur Rechenkapazität wie auch Informationen zu aktiven, ausstehenden und abgeschlossenen Aufträgen anzeigen. Ihre Auftragsprotokolle (z. B. STDERR und STDOUT) sind über die AWS-Managementkonsole verfügbar und werden auch in die Amazon CloudWatch Logs geschrieben.

Differenzierte Zugriffskontrolle

AWS Batch verwendet IAM zur Kontrolle und Überwachung der AWS-Ressourcen (z. B. Amazon DynamoDB-Tabellen), auf die Ihre Aufträge zugreifen können. In IAM können Sie auch Richtlinien für die unterschiedlichen Benutzer Ihrer Organisation definieren. Administratoren können Sie beispielsweise vollständigen Zugriff auf alle API-Operationen von AWS Batch erteilen, während Entwickler nur eingeschränkte Berechtigungen für die Konfiguration der Rechenumgebungen und die Registrierung von Aufträgen erhalten und Endbenutzer eventuell sogar nur die Berechtigung zum Einreichen und Löschen von Aufträgen.

Erfahren Sie mehr über die Preise von AWS Batch

Zur Seite mit den Preisen
Bereit zum Entwickeln?
Erste Schritte mit AWS Batch
Haben Sie Fragen?
Kontakt