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 Management Console 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.

Beginnen Sie noch heute mit der Nutzung von AWS Batch

Erste Schritte
100x100_benefit_ccontainers

In AWS Batch können Sie Ressourcenanforderungen wie vCPU und Arbeitsspeicher, AWS Identity and Access Management-Rollen (IAM), 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.

100x100_benefit_version-control2

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.

100x100_benefit_ingergration

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.

100x100_benefit_scalable-instance

AWS Batch stellt verwaltete Rechenumgebungen bereit, die Rechenressourcen dynamisch entsprechend der Mengen- und Ressourcenanforderungen der übergebenen Aufträge bereitstellen. Für die von AWS Batch verwalteten Rechenumgebungen können Sie Anforderungen wie den Typ der EC2-Instances, die VPC-Teilnetzkonfigurationen, Minimal-, Maximal- und Sollzahlen der vCPUs über alle Instanzen und den Spot-Gebotpreis festlegen.

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.

100x100_benefit_calendar

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.  

100x100_benefit_lowcost-affordable

In AWS Batch ist der Einsatz von Amazon EC2 Spot ein Kinderspiel. Sie können damit die Kosten für die Ausführung Ihrer Batch-Aufträge noch mehr senken. AWS Batch bietet für Sie dynamisch für Spot-Instances – unter Berücksichtigung der für die Aufträge benötigen Mengen- und Ressourcenanforderungen wie auch der für die Rechenressourcen festgelegten Konfigurationsparameter.

100x100_benefit_monitoring-logging

AWS Batch zeigt die wichtigsten Betriebsmetriken Ihrer Batch-Aufträge in der AWS Management Console 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 Management Console verfügbar und werden auch in die Amazon CloudWatch-Protokolle geschrieben.

100x100_benefit_privacy1

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.