Creare un processo di Batch con il portale di Azure

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. Azure Batch consente di creare e gestire un pool di nodi di calcolo (macchine virtuali o VM), installare l'applicazione da eseguire e pianificare l'esecuzione di processi nei nodi di calcolo.

È possibile usare Azure Batch per creare un'applicazione SaaS (software come un servizio) o un'applicazione client per cui è necessaria l'esecuzione su larga scala. È ad esempio possibile usare 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 molte immagini.

Funzionamento di Azure Batch

Come illustrato nel diagramma seguente, 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.

Diagramma che illustra come un servizio può usare Batch come piattaforma di calcolo e come Batch interagisce con altri servizi di Azure, ad esempio Archiviazione di Azure.

È possibile considerare due parti distinte del diagramma:

  • Il servizio
  • Batch come piattaforma di calcolo alla base

Il servizio usa Azure come piattaforma per completare operazioni a elevato utilizzo di calcolo tramite Batch e recuperare i risultati tramite Archiviazione di Azure. Dietro le quinte, i pool sono raccolte di macchine virtuali. I pool sono le risorse in cui vengono eseguiti processi e attività.

Batch usa Archiviazione di Azure per recuperare le applicazioni o i dati necessari per completare un'attività in una macchina virtuale e quindi per scrivere il relativo output. Il servizio può monitorare lo stato di avanzamento di processi e attività tramite le API Batch. Il servizio può quindi recuperare i risultati da Archiviazione di Azure dopo il completamento di processi e attività.

Creazione di un pool di Azure Batch in una rete virtuale

Per eseguire un processo di Batch, è necessario aggiungere un pool all'account Batch. Un pool contiene nodi di calcolo, che sono necessari per eseguire il processo di Batch. I nodi di calcolo sono macchine virtuali che elaborano le attività che costituiscono un processo. Durante la creazione del pool è possibile specificare il numero, le dimensioni e il sistema operativo dei nodi in base alla richiesta.

Il servizio Batch deve comunicare con un agente del nodo Batch in esecuzione in ogni nodo del pool. Ad esempio, il servizio indica all'agente del nodo di eseguire un'attività, arrestarla o ottenere i file necessari. Uno o più servizi di bilanciamento del carico consentono la comunicazione con l'agente del nodo del pool. Il numero di servizi di bilanciamento del carico dipende dal numero di nodi di un pool.

Un servizio di bilanciamento del carico inoltra la comunicazione al nodo del pool desiderato. Ogni nodo ha un numero di porta univoco. Per impostazione predefinita, ai servizi di bilanciamento del carico sono associati indirizzi IP pubblici.

È anche possibile accedere in remoto ai nodi del pool tramite RDP (Remote Desktop Protocol) o SSH, abilitati per impostazione predefinita. Anche in questo caso, la comunicazione avviene tramite gli endpoint del servizio di bilanciamento del carico.

Quando si crea un pool di Azure Batch, è possibile effettuarne il provisioning in una subnet di una rete virtuale di Azure specificata. I nodi di calcolo in un pool possono comunicare tra loro con attività a istanze multiple senza richiedere una rete virtuale separata. Per impostazione predefinita, per comunicare con gli account Batch, i pool di Batch e i nodi del pool, vengono usati indirizzi IP pubblici.

Reti virtuali e subnet di Azure

Una rete virtuale è il blocco costitutivo fondamentale per una rete privata in Azure. Le reti virtuali consentono a diversi tipi di risorse di Azure, ad esempio macchine virtuali, di comunicare in modo sicuro tra loro, con Internet e con reti locali.

Una rete virtuale è simile a una rete tradizionale che viene gestita nel data center, ma include i vantaggi aggiuntivi offerti dall'infrastruttura di Azure, tra cui scalabilità, disponibilità e isolamento.

Gli scenari principali che è possibile realizzare in una rete virtuale includono:

  • Comunicazione tra le risorse di Azure e Internet
  • Comunicazione tra risorse di Azure
  • Comunicazione con risorse locali
  • Applicazione di filtri al traffico di rete
  • Routing del traffico di rete
  • Integrazione con servizi di Azure

Una subnet è un intervallo di indirizzi IP all'interno della rete virtuale. È possibile dividere la rete virtuale in più subnet per motivi di organizzazione e sicurezza. Quando si configura una rete virtuale, si specifica la topologia, tra cui gli spazi degli indirizzi e le subnet disponibili. Se si prevede di collegare la rete virtuale ad altre reti virtuali o a reti locali, è necessario selezionare intervalli di indirizzi che non si sovrappongano.

Non esiste alcun limite di sicurezza tra le subnet, quindi le macchine virtuali possono comunicare tra loro in ogni subnet, ma è possibile configurare gruppi di sicurezza di rete che consentono di controllare il flusso di traffico da e verso le subnet e le macchine virtuali.