Progettare per soluzioni di Azure Batch

Completato

Azure Batch consente di eseguire in modo efficiente applicazioni su vasta scala nel cloud. È possibile pianificare attività a elevato utilizzo di calcolo e adattare dinamicamente le risorse per la soluzione senza gestire l'infrastruttura. Con Azure Batch è possibile creare e gestire un pool di nodi di calcolo (macchine virtuali). Azure Batch può anche installare l'applicazione da eseguire e pianificare l'esecuzione dei processi nei nodi di calcolo.

Informazioni su Azure Batch

Esistono molti scenari in cui Azure Batch può essere una soluzione di calcolo ideale per l'infrastruttura. Azure Batch è simile alle macchine virtuali di Azure e può essere usato per creare nuovi carichi di lavoro ed eseguire la migrazione dei dati.

Flowchart that shows the decision tree for selecting Azure Batch to build new workloads, and to support lift and shift or cloud-optimized migrations.

  • Azure Batch funziona bene con le applicazioni eseguite in modo indipendente (carichi di lavoro paralleli).

  • Azure Batch è efficace anche per le applicazioni che devono comunicare tra loro (carichi di lavoro strettamente accoppiati). È ad esempio possibile usare Azure Batch per creare un servizio che esegue una simulazione di Monte Carlo per una società di servizi finanziari oppure un servizio per l'elaborazione di immagini.

  • Azure Batch consente l'esecuzione di processi batch paralleli e HPC (High Performance Computing) su larga scala con la possibilità di aumentare a decine, centinaia o migliaia di VM. Al momento di eseguire un processo, Azure Batch:

    • Avvia un pool di macchine virtuali di calcolo.
    • Installa applicazioni ed esegue processi di gestione temporanea dei dati.
    • Esegue processi con tutte le attività in esecuzione.
    • Identifica gli errori, accoda il lavoro e riduce il pool al termine del lavoro.

Funzionamento di Azure Batch

Uno scenario reale tipico per Azure Batch richiede file di dati e applicazioni. Il flusso di lavoro di Batch inizia con il caricamento di questi file di dati e applicazioni in un account di archiviazione di Azure. In base alle esigenze, si crea quindi un pool di Batch con tutti i nodi di calcolo Windows o Linux necessari. Se le esigenze aumentano, è possibile dimensionare automaticamente i nodi di calcolo.

Diagram that shows how Azure Batch works to upload, download, create, and monitor tasks.

Durante la pianificazione della propria configurazione, è possibile separare gli aspetti dello scenario in due parti: il servizio e l'ambiente di calcolo di Azure Batch.

  • Il servizio che usa Azure come piattaforma. La piattaforma prevede il completamento di un lavoro a elevato utilizzo di calcolo e quindi il recupero dei risultati. È anche possibile monitorare i processi e lo stato delle attività.

  • Azure Batch opera come piattaforma di calcolo dietro il servizio. Batch usa Archiviazione di Azure per recuperare le applicazioni o i dati necessari per completare un'attività. Azure Batch scrive l'output in Archiviazione di Azure. Dietro le quinte, sono presenti raccolte (pool) di macchine virtuali. I pool sono le risorse in cui vengono eseguiti processi e attività.

Aspetti da considerare quando si usa Azure Batch

Verranno ora esaminate alcune procedure consigliate per l'uso di Azure Batch. Quando si esaminano i suggerimenti, considerare gli scenari che è possibile eseguire integrando Azure Batch nell'infrastruttura di Tailwind Traders.

  • Prendere in considerazione i pool. Se i processi sono costituiti da attività a esecuzione breve, non creare un nuovo pool per ogni processo. Il sovraccarico associato alla creazione di nuovi pool ridurrà il tempo di esecuzione del processo. È inoltre preferibile che i processi usino i pool in modo dinamico. Se i processi usano lo stesso pool per tutte le operazioni, è possibile che non vengano eseguiti se si verificano problemi in tale pool.

  • Prendere in considerazione i nodi. Non è inoltre garantito che i singoli nodi siano sempre disponibili. Se il carico di lavoro di Azure Batch richiede un avanzamento deterministico e garantito, è consigliabile allocare pool con più nodi. Considerare l'uso di dimensioni di VM isolate per i carichi di lavoro con requisiti normativi o di conformità.

  • Prendere in considerazione i processi. Assegnare nomi univoci ai processi in modo da poter monitorare e registrare accuratamente l'attività. Valutare la possibilità di raggruppare le attività in processi di dimensioni efficienti. È più efficiente usare un singolo processo che contiene 1.000 attività anziché creare 100 processi con 10 attività ognuna.

Applicazione aziendale

Leggere altri suggerimenti in merito alle procedure consigliate per Azure Batch.