Il rendering video 3D è un processo di lunga durata il cui completamento richiede un'elevata quantità di tempo CPU. In un singolo computer, il processo di generazione di un file video da asset statici può richiedere ore o addirittura giorni, a seconda della lunghezza e della complessità del video che si intende produrre. Per eseguire queste attività, molte aziende acquistano costosi computer desktop di fascia alta oppure investono in farm di rendering di grandi dimensioni a cui possono inviare i processi. Sfruttando Azure Batch, tuttavia, la stessa potenza è disponibile quando necessario e si arresta in caso contrario, senza investimenti di capitale.
Architettura
Scaricare un file di Visio di questa architettura.
Flusso di dati
Questo scenario mostra un flusso di lavoro che usa Azure Batch. Il flusso di dati è il seguente:
- Caricare i file di input e le applicazioni per elaborarli nell'account di archiviazione di Azure.
- Creare un pool Batch di nodi di calcolo nell'account Batch, un processo per eseguire il carico di lavoro nel pool e le attività nel processo.
- Scaricare i file di input e le applicazioni in Batch.
- Monitorare l'esecuzione delle attività.
- Caricare l'output delle attività.
- Scaricare i file di output.
Per semplificare questo processo, è anche possibile usare i plug-in di Batch per Maya e 3DS Max
Componenti
Azure Batch si basa sulle tecnologie di Azure seguenti:
- Le Rete virtuale di Azure vengono usate sia per il nodo head che per le risorse di calcolo.
- Gli account di archiviazione di Azure vengono usati per la sincronizzazione e la conservazione dei dati.
- Azure set di scalabilità di macchine virtuali vengono usati da CycleCloud per le risorse di calcolo.
Alternative
Se si necessita di maggiore controllo sull'ambiente di rendering in Azure o di un'implementazione ibrida, l'elaborazione con CycleCloud consente di orchestrare una griglia IaaS nel cloud e, usando le stesse tecnologie Azure sottostanti di Azure Batch, rende efficiente il processo di creazione e gestione di una griglia IaaS. Per altre informazioni, vedere Che cos'è Azure CycleCloud?.
Per una panoramica completa di tutte le soluzioni HPC disponibili in Azure, vedere l'articolo Soluzioni HPC, Batch e Big Compute con macchine virtuali di Azure.
Dettagli dello scenario
Batch offre un'esperienza di gestione e di pianificazione dei processi coerente indipendentemente dal fatto che si selezionino nodi di calcolo Windows Server o Linux. Con Batch, è possibile usare le applicazioni Windows o Linux esistenti, come AutoDesk Maya e Blender, per eseguire processi di rendering su larga scala in Azure.
Potenziali casi d'uso
Questa soluzione è ideale per i settori multimediali e di intrattenimento. Gli altri casi d'uso pertinenti includono:
- Modellazione 3D
- Rendering VFX (Visual FX)
- Transcodifica di video
- Elaborazione, correzione dei colori e ridimensionamento di immagini
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.
Dimensioni di macchine virtuali disponibili per Azure Batch
Nonostante la maggior parte dei clienti di soluzioni di rendering scelga risorse con un'elevata potenza di CPU, la scelta delle macchine virtuali per altri carichi di lavoro che usano set di scalabilità di macchine virtuali potrebbe essere effettuata in modo diverso e dipendere dai fattori seguenti:
- L'esecuzione dell'applicazione è associata alla memoria?
- L'applicazione deve usare GPU?
- I tipi di processi presentano elevati livelli di parallelismo o richiedono connettività InfiniBand per processi strettamente associati?
- È necessaria un'elevata velocità di I/O per accedere alle risorse di archiviazione nei nodi di calcolo.
Azure offre numerose dimensioni di VM che possono soddisfare ognuno dei requisiti delle applicazioni indicati sopra. Alcune sono specifiche per HPC, ma anche le dimensioni più ridotte possono essere usate per ottenere un'efficace implementazione a griglia:
- Dimensioni di macchine virtuali HPC: dato che il rendering è associato alla CPU, è consigliabile usare macchine virtuali di Azure serie H. Queste macchine virtuali sono specificamente realizzate per esigenze di calcolo di fascia alta, sono disponibili in dimensioni da 8 a 16 vCPU core e sono dotate di memoria DDR4, archiviazione temporanea in unità SSD e tecnologia Haswell E5 Intel.
- Dimensioni di VM GPU: le dimensioni di VM ottimizzate per la GPU sono macchine virtuali specializzate disponibili con una o più GPU NVIDIA. Queste dimensioni sono progettate per carichi di lavoro di visualizzazione oppure a elevato utilizzo di calcolo o di grafica.
- Le dimensioni NC, NCv2, NCv3 e ND sono ottimizzate per applicazioni e algoritmi a elevato utilizzo di calcolo e reti, come applicazioni e simulazioni basate su OpenCL e CUDA, intelligenza artificiale e Deep Learning. Le dimensioni NV sono ottimizzate e progettate per scenari di visualizzazione remota, streaming, giochi, codifica e VDI che usano framework come OpenGL e DirectX.
- Dimensioni di macchine virtuali ottimizzate per la memoria: quando è necessaria una maggiore quantità di memoria, queste dimensioni di macchine virtuali offrono un rapporto memoria-CPU superiore.
- Dimensioni di macchine virtuali per utilizzo generico: sono disponibili anche dimensioni di macchine virtuali per utilizzo generico che offrono un rapporto CPU-memoria equilibrato.
Disponibilità
Funzionalità di monitoraggio dei componenti di Azure Batch sono disponibili tramite diversi servizi, strumenti e API. Il monitoraggio è illustrato in maggiore dettaglio nell'articolo Monitorare le soluzioni Batch.
Scalabilità
I pool in un account Azure Batch possono essere ridimensionati manualmente oppure automaticamente con una formula basata sulle metriche di Azure Batch. Per altre informazioni in proposito, vedere l'articolo Creare una formula di scalabilità automatica per la scalabilità dei nodi di calcolo in un pool Batch.
Sicurezza
La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.
Per indicazioni generali sulla progettazione di soluzioni sicure, vedere la documentazione sulla sicurezza di Azure.
Resilienza
Attualmente non sono presenti funzionalità di failover in Azure Batch, ma è consigliabile usare questa procedura per garantire la disponibilità in caso di interruzione non pianificata:
- Creare un account Azure Batch in un percorso di Azure alternativo con un account di archiviazione alternativo
- Creare gli stessi pool di nodi con lo stesso nome, con 0 nodi allocati
- Assicurarsi che le applicazioni vengano create e aggiornate nell'account di archiviazione alternativo
- Caricare i file di input e inviare i processi all'account Azure Batch alternativo
Ottimizzazione dei costi
L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.
Il costo correlato all'uso di Azure Batch dipenderà dalle dimensioni delle macchine virtuali usate per i pool e dalla durata dell'allocazione e dell'esecuzione. Alla creazione di un account Azure Batch non è associato alcun costo. È necessario tenere in considerazione le risorse di archiviazione e i dati in uscita, perché comportano l'applicazione di costi aggiuntivi.
Di seguito sono riportati esempi dei costi che potrebbero essere addebitati per un processo completato in 8 ore con un diverso numero di server.
100 macchine virtuali con CPU ad alte prestazioni: stima dei costi
100 x H16m (16 core, 225 GB di RAM, 512 GB di archiviazione Premium), 2 TB di archiviazione BLOB, 1 TB in uscita
50 macchine virtuali con CPU ad alte prestazioni: stima dei costi
50 x H16m (16 core, 225 GB di RAM, 512 GB di archiviazione Premium), 2 TB di archiviazione BLOB, 1 TB in uscita
10 macchine virtuali con CPU ad alte prestazioni: stima dei costi
10 x H16m (16 core, 225 GB di RAM, 512 GB di archiviazione Premium), 2 TB di archiviazione BLOB, 1 TB in uscita
Prezzi per le macchine virtuali con priorità bassa
Azure Batch supporta anche l'uso di macchine virtuali con priorità bassa nei pool di nodi e questo può offrire un significativo risparmio sui costi. Per altre informazioni, incluso un confronto dei prezzi tra macchine virtuali standard e macchine virtuali con priorità bassa, vedere Prezzi di Azure Batch.
Nota
Le macchine virtuali con priorità bassa sono adatte solo per alcune applicazioni e carichi di lavoro.
Distribuire lo scenario
Creare manualmente un account e pool Azure Batch
Questo scenario illustra il funzionamento di Azure Batch e presenta Azure Batch Labs come soluzione SaaS di esempio che è possibile sviluppare per i clienti:
Distribuire i componenti
Il modello distribuirà quanto segue:
- Un nuovo account Azure Batch
- Un account di archiviazione
- Un pool di nodi associato all'account Batch
- Il pool di nodi verrà configurato per l'uso di VM A2 v2 con immagini di Canonical Ubuntu
- Il pool di nodi conterrà inizialmente 0 macchine virtuali e richiederà il ridimensionamento manuale per l'aggiunta di macchine virtuali
Fare clic sul collegamento seguente per distribuire la soluzione.
Altre informazioni sui modelli di Resource Manager
Passaggi successivi
Documentazione sui prodotti:
- Informazioni su Azure Batch
- Che cos'è Rete virtuale di Azure?
- account Archiviazione di Azure
- Informazioni sui set di scalabilità di macchine virtuali
Moduli learn:
- Introduzione ad Azure Rendering remoto
- Eseguire il rendering di un modello con Azure Rendering remoto