D: Cos'è AWS Batch?

AWS Batch è un set di funzionalità di gestione dei batch che consente ai developer, ai ricercatori e agli ingegneri di eseguire in maniera semplice ed efficace centinaia di migliaia di lavori di elaborazione in batch su AWS. AWS Batch effettua dinamicamente il provisioning della quantità e del tipo ottimali delle risorse di calcolo (per es., CPU o istanze con memoria ottimizzata) in base al volume e ai requisiti di risorse specifici ai lavori in batch inviati. Con AWS Batch, non c'è bisogno di installare e gestire software di calcolo o cluster di server e questo ti consente invece di concentrarti sull'analisi dei risultati e la risoluzione di problemi. AWS Batch pianifica, programma ed esegue i tuoi carichi di lavoro di elaborazione in batch utilizzando Amazon EC2 e Spot Instances.

D: Che cos'è l'elaborazione in batch?
L'elaborazione in batch è l'esecuzione di una serie di programmi ("attività") su uno o più computer senza interventi manuali. I parametri di input sono predefiniti tramite script, argomenti a riga di comando, file di controllo o linguaggi di controllo delle attività. Una determinata attività in batch può dipendere dal completamento delle attività precedenti oppure dalla disponibilità di determinati input, il che rende fondamentale il sequenziamento e la programmazione di più attività, nonché incompatibile con l'elaborazione interattiva.

D: Quali sono i vantaggi dell'utilizzo dell'elaborazione in batch?

  • Può permettere di posticipare il momento dell'elaborazione delle attività a periodi in cui è disponibile una capacità maggiore o meno costosa.
  • Evita l'inattività delle risorse di calcolo a causa di frequenti interventi manuali e supervisione.
  • Aumenta l'efficienza promuovendo un maggiore utilizzo delle risorse di calcolo.
  • Consente la prioritizzazione delle attività, allineando l'allocazione delle risorse agli obiettivi di business.

D: Qual è il vantaggio di utilizzare AWS Batch?
AWS Batch gestisce l'esecuzione delle attività e delle risorse di calcolo, consentendoti di concentrarti sullo sviluppo di applicazioni o l'analisi dei risultati, anziché sulla configurazione e gestione dell'infrastruttura. Se stai pensando di eseguire o trasferire carichi di lavoro in batch in AWS, dovresti prendere in considerazione l'utilizzo di AWS Batch.

D: Per quali casi d'uso è ottimizzato AWS Batch?
AWS Batch è ottimizzato per l'elaborazione in batch e le applicazioni che permettono di scalare mediante l'esecuzione di molteplici attività in parallelo. Apprendimento profondo, analisi genomica, modelli di rischi finanziari, simulazioni Monte Carlo, rendering delle animazioni, transcodifica dei media, elaborazione immagini e simulazioni ingegneristiche sono tutti ottimi esempi di applicazioni di elaborazione in batch.


D: Quali sono le caratteristiche salienti di AWS Batch?
AWS Batch gestisce gli ambienti di calcolo e le code di attività, permettendoti di eseguire con facilità migliaia di attività di qualsiasi scala, utilizzando Amazon EC2 ed EC2 Spot. Basta definire e inoltrare le tue attività in batch in una coda. In risposta, AWS Batch sceglie dove eseguire le attività, lanciando capacità AWS aggiuntiva, se necessario. AWS Batch monitora l'avanzamento dei processi. Quando la capacità non è più necessaria, AWS Batch la rimuove. Inoltre, AWS Batch offre la possibilità di inviare attività che fanno parte di una pipeline o di un flusso di lavoro, così puoi indicare eventuali interdipendenze esistenti tra le attività al momento dell'invio.

D: Quali tipi di attività in batch sono supportate da AWS Batch?
AWS Batch supporta qualsiasi processo che possa essere eseguito come container Docker. I requisiti di memoria e il numero di vCPU dipenderanno dal singolo processo.  

D: Cos'è una risorsa di calcolo?
Una risorsa di calcolo AWS Batch è un'istanza EC2.

D: Che cos'è un ambiente di calcolo?
Un ambiente di calcolo AWS Batch è una raccolta di risorse di calcolo su cui sono eseguite delle attività. AWS Batch supporta due tipi di ambienti di calcolo: gli ambienti di calcolo gestiti, con provisioning e gestione di AWS, e gli ambienti di calcolo non gestiti, con gestione da parte dei clienti. Gli ambienti di calcolo non gestiti forniscono un meccanismo per sfruttare risorse specializzate come host dedicati, configurazioni di storage più grandi e Amazon EFS.

D: Che cos'è una definizione attività?
Una definizione di attività descrive il processo da eseguire, i parametri, le variabili ambientali, i requisiti di calcolo e altre informazioni utilizzate per ottimizzare l'esecuzione di un processo. Tali caratteristiche devono essere definite prima dell'inoltro di un processo e possono essere condivise con terzi.

D: Che cos'è l'agente di Amazon ECS e come viene utilizzato da AWS Batch?
AWS Batch utilizza Amazon ECS per eseguire attività nei contenitori e, pertanto, richiede l'installazione dell'agente ECS sulle risorse di calcolo all'interno degli ambienti di calcolo di AWS Batch. L'agente ECS è preinstallato negli ambienti di calcolo gestiti.

D: In che modo AWS Batch facilita l'utilizzo di EC2 Spot?
Gli ambienti di calcolo di AWS Batch possono essere composti dalle istanze EC2 Spot. Al momento della creazione di un ambiente di calcolo gestito, semplicemente specifica che vorresti utilizzare EC2 Spot e indica la percentuale di prezzi on demand che desideri offrire e AWS Batch si occuperà di tutto il resto. Gli ambienti di calcolo non gestiti possono anche includere le istanze Spot da te lanciate, incluse quelle lanciate dal parco istanze di EC2 Spot.


D: Quanto costa AWS Batch?
Non sono previsti costi aggiuntivi per l'utilizzo di AWS Batch. I prezzi sono calcolati in base alle risorse AWS, ad esempio istanze di EC2, che vengono create per memorizzare e gestire i lavori in batch.


D: Come si inizia a usarlo?
Per iniziare, segui la Guida alle operazioni di base nella nostra documentazione.

D. Quale provisioning devo effettuare per iniziare?
Non è necessario effettuare il lancio manuale delle tue risorse di calcolo personali per iniziare. La console Web AWS Batch ti guida lungo il processo di creazione del tuo primo ambiente di calcolo e coda di attività, in modo da permetterti di inviare la tua prima attività. Le risorse all'interno del tuo ambiente di calcolo aumenteranno man mano che attività aggiuntive sono pronte per l'esecuzione e si ridurranno di pari passo con il diminuire del numero di attività eseguibili.