AWS Batch permette di creare pacchetti di codice per processi in batch, specificarne le dipendenze e inoltrare tali processi tramite Console di gestione AWS, interfaccia a riga di comando e kit SDK. Con AWS Batch è possibile specificare parametri di esecuzione e dipendenze di processi, facilitando l'integrazione con un'ampia gamma di motori di flusso di lavoro e sintassi di elaborazione in batch comuni (ad esempio Pegasus WMS, Luigi e AWS Step Functions). AWS Batch effettua il provisioning e ricalibra istanze Amazon EC2 e Spot in base ai requisiti dei processi in corso. AWS Batch fornisce definizioni di ambiente di elaborazione e codice di processi di default con cui iniziare a lavorare rapidamente.

Inizia subito a usare AWS Batch

Nozioni di base
100x100_benefit_ccontainers

AWS Batch permette di specificare requisiti di risorse, ad esempio vCPU e memoria, ruoli di AWS Identity and Access Management (IAM), punti di montaggio dei volumi, proprietà dei container e variabili di ambiente per definire le modalità di esecuzione dei processi. AWS Batch esegue i processi come applicazioni in container eseguiti in Amazon ECS.

100x100_benefit_version-control2

AWS Batch consente di definire dipendenze tra diversi processi. Ad esempio, un processo in batch può essere composto da tre diverse fasi di elaborazione ognuna con i propri requisiti. Mediante le dipendenze, è possibile creare tre processi consecutivi e interdipendenti che richiedono risorse differenti.

100x100_benefit_ingergration

AWS Batch può essere integrato con sintassi e motori di flusso di lavoro commerciali e open source quali Pegasus WMS e Luigi, permettendo di utilizzare i linguaggi di flusso di lavoro già usati nella pipeline esistente.

100x100_benefit_scalable-instance

AWS Batch fornisce ambienti di elaborazione gestiti che effettuano il provisioning e ricalibrano automaticamente le risorse di elaborazione in base ai volumi e ai requisiti dei processi inoltrati. È possibile configurare gli ambienti di elaborazione gestiti di AWS Batch con requisiti quali istanze EC2, configurazioni di sottorete di VPC, numero massimo/minimo/desiderato di vCPU di tutte le istanze e prezzo di offerta per istanze Spot.

In alternativa, è possibile effettuare il provisioning e gestire le risorse di elaborazione all'interno di ambienti di elaborazione non gestiti di AWS Batch quando è necessario utilizzare configurazioni di istanze EC2 diverse da quelle fornite dagli ambienti di elaborazione gestiti, ad esempio volumi EBS di dimensioni maggiori oppure sistemi operativi differenti. È sufficiente effettuare il provisioning di istanze EC2 che includano l'agente di Amazon ECS ed eseguano versioni supportate di Linux e Docker. AWS Batch eseguirà processi in batch nelle istanze EC2 allocate.

100x100_benefit_calendar

AWS Batch permette di impostare più code con diversi livelli di priorità. I processi in batch vengono inseriti nelle code finché le risorse di calcolo necessarie non sono disponibili. La funzione di pianificazione di AWS Batch stima quando, dove e come eseguire i processi inoltrati a una coda in base ai requisiti di ciascun processo. Questa funzione soppesa la priorità di ciascuna coda ed esegue i processi in ordine di priorità in modo da garantire risorse di elaborazione ottimali (ad esempio memoria o CPU), ammesso che non prevedano dipendenze in attesa.  

100x100_benefit_lowcost-affordable

AWS Batch semplifica l'utilizzo delle istanze Spot di Amazon EC2 per ridurre ulteriormente i costi di esecuzione dei processi in batch. AWS Batch crea offerte dinamiche per istanze Spot in base ai requisiti dei processi e ai parametri di configurazione importati per le risorse di elaborazione.

100x100_benefit_monitoring-logging

I parametri operativi chiave dei processi in batch di AWS Batch sono disponibili nella Console di gestione AWS. È possibile consultare i parametri relativi a capacità di elaborazione e a processi in esecuzione, in attesa e completati. I log dei processi (ad esempio STDERR e STDOUT) sono disponibili nella Console di gestione AWS e vengono anche memorizzati tramite Amazon CloudWatch Logs.

100x100_benefit_privacy1

AWS Batch usa IAM per controllare e monitorare le risorse AWS a cui i processi possono accedere, ad esempio le tabelle Amazon DynamoDB. Tramite IAM, puoi anche definire le policy per singoli utenti nell'organizzazione. Ad esempio, gli amministratori potranno avere autorizzazioni di accesso complete a qualsiasi operazione API di AWS Batch, gli sviluppatori avranno autorizzazioni limitate alla configurazione degli ambienti di elaborazione e alla registrazione dei processi, mentre gli utenti finali potranno solamente inoltrare ed eliminare processi.