Pianificare la gestione dei costi per Azure Batch

Questo articolo descrive come pianificare e gestire i costi per Azure Batch. Prima di distribuire il servizio, è possibile usare il calcolatore prezzi di Azure per stimare i costi per Azure Batch. In seguito, durante la distribuzione delle risorse di Azure, esaminare i costi stimati.

Dopo aver avviato l'esecuzione dei carichi di lavoro batch, usare le funzionalità di Gestione costi per impostare i budget e monitorare i costi. È anche possibile esaminare i costi previsti e identificare le tendenze di spesa per identificare le aree in cui si potrebbe voler agire. I costi per Azure Batch sono solo una parte dei costi mensili nella fattura di Azure. Anche se questo articolo illustra come pianificare e gestire i costi per Azure Batch, vengono addebitati tutti i servizi e le risorse di Azure usati nella sottoscrizione di Azure, inclusi i servizi di terze parti.

Prerequisiti

L'analisi dei costi in Gestione costi supporta la maggior parte dei tipi di account di Azure, ma non tutti. Per visualizzare l'elenco completo dei tipi di account supportati, vedere Informazioni sui dati di Gestione costi. Per visualizzare i dati dei costi, è necessario almeno l'accesso in lettura per un account Azure. Per informazioni sull'assegnazione dell'accesso ai dati di Gestione costi Microsoft, vedere Assegnare l'accesso ai dati.

Stimare i costi prima di usare Azure Batch

Usare il calcolatore prezzi di Azure per stimare i costi prima di aggiungere macchine virtuali.

  1. Nella scheda Prodotti passare alla sezione Calcolo o cercare Batch nella barra di ricerca. nel riquadro Batch selezionare Aggiungi per stimare e scorrere verso il basso fino alla sezione Stima .

  2. Si noti che Azure Batch è un servizio gratuito e che i costi associati ad Azure Batch sono per le risorse sottostanti che eseguono i carichi di lavoro. Quando si aggiunge Azure Batch alla stima, il calcolatore dei prezzi crea automaticamente una selezione per Servizi cloud e macchine virtuali. Altre informazioni su Azure Servizi cloud e Azure Macchine virtuali (VM) sono disponibili nella documentazione di ogni prodotto. Ciò che è necessario sapere per il costo stimato di Azure Batch è che le macchine virtuali sono la risorsa più significativa.

    Selezionare le opzioni negli elenchi a discesa. Sono disponibili varie opzioni tra cui scegliere. Le opzioni che hanno il maggiore impatto sul totale stimato sono il sistema operativo della macchina virtuale, la licenza del sistema operativo, se applicabile, le dimensioni della macchina virtuale selezionate in ISTANZA, il numero di istanze scelte e la quantità di tempo di esecuzione delle istanze del mese.

    Si noti che la stima totale cambia quando si selezionano opzioni diverse. La stima viene visualizzata nell'angolo superiore e nella parte inferiore della sezione Stima .

    Screenshot showing the your estimate section and main options available for Azure Batch.

    Per altre informazioni sul costo dell'esecuzione di macchine virtuali, vedere la documentazione Pianificare per gestire i costi per le macchine virtuali.

Informazioni sul modello di fatturazione completo per Azure Batch

Azure Batch viene eseguito nell'infrastruttura di Azure che accumula costi quando si distribuiscono nuove risorse. È importante comprendere che potrebbero verificarsi altri costi di infrastruttura aggiuntivi che potrebbero accumularsi.

Come vengono addebitati i costi per Azure Batch

Azure Batch è un servizio gratuito. Non sono previsti costi per Batch stesso. Tuttavia, possono essere previsti addebiti per le risorse di calcolo sottostanti e le licenze software usate per eseguire carichi di lavoro Batch. I costi possono essere sostenuti dalle macchine virtuali in un pool, dal trasferimento dei dati dalla macchina virtuale o da eventuali dati di input o output archiviati nel cloud.

Costi che potrebbero accumulare con Azure Batch

Anche se Batch è un servizio gratuito, molte delle risorse sottostanti che eseguono i carichi di lavoro non sono. tra cui:

  • Macchine virtuali
  • Archiviazione
    • Quando le applicazioni vengono distribuite in macchine virtuali del nodo Batch che usano pacchetti di applicazioni, vengono fatturate le risorse Archiviazione di Azure utilizzate dai pacchetti dell'applicazione. Vengono addebitati anche gli archivi di qualsiasi file di input o output, ad esempio i file di risorse e altri dati di log.
    • In generale, il costo dei dati di archiviazione associati a Batch è molto inferiore al costo delle risorse di calcolo.
  • In alcuni casi, un servizio di bilanciamento del carico
  • Risorse di rete
    • Per i pool di configurazione della macchina virtuale, vengono usati i servizi di bilanciamento del carico standard, che richiedono indirizzi IP statici. I servizi di bilanciamento del carico usati da Batch sono visibili per gli account configurati in modalità sottoscrizione utente, ma non quelli in modalità servizio Batch.
    • I servizi di bilanciamento del carico Standard comportano addebiti per tutti i dati passati da e verso le macchine virtuali del pool di Batch. Selezionare API Batch che recuperano dati dai nodi del pool (ad esempio Recupera file attività/nodo), pacchetti dell'applicazione di attività, file di risorse/output e immagini del contenitore comportano anche addebiti.
    • Rete virtuale
  • A seconda dei servizi usati, la soluzione Batch può comportare costi aggiuntivi. I servizi comunemente usati con Batch che possono avere costi associati includono:
    • Application Insights
    • Data Factory
    • Monitoraggio di Azure

I costi possono accumularsi dopo l'eliminazione delle risorse

Dopo aver eliminato le risorse di Azure Batch, le risorse seguenti potrebbero continuare a esistere. Continueranno ad accumulare costi fino a quando non verranno eliminate.

  • Macchina virtuale
  • Tutti i dischi distribuiti diversi dal sistema operativo e dai dischi locali
  • Rete virtuale
    • La scheda di interfaccia di rete virtuale e l'indirizzo IP pubblico, se applicabile, possono essere impostati per l'eliminazione insieme alla macchina virtuale
  • Larghezza di banda
  • Bilanciamento del carico

Per le reti virtuali, viene fatturata una rete virtuale per sottoscrizione e per area. Le reti virtuali non possono estendersi su aree o sottoscrizioni. La configurazione di endpoint privati nelle configurazioni della rete virtuale può comportare anche addebiti.

La larghezza di banda viene addebitata in base all'utilizzo; più dati trasferiti, più vengono addebitati gli addebiti.

Uso del pagamento anticipato di Azure con Azure Batch

Anche se Azure Batch è un servizio gratuito, è possibile pagare gli addebiti per le risorse sottostanti con il credito di pagamento anticipato di Azure. Tuttavia, non è possibile usare il credito del pagamento anticipato di Azure per pagare gli addebiti di prodotti e servizi di terze parti, inclusi quelli di Azure Marketplace.

Visualizzare l'analisi dei costi e creare budget

Quando si usano le risorse di Azure con Azure Batch, si comportano costi. I costi delle unità di utilizzo delle risorse di Azure variano in base a intervalli di tempo (secondi, minuti, ore e giorni) o per utilizzo unità (byte, megabyte e così via). Non appena inizia l'uso delle risorse di Azure, vengono addebitati i costi ed è possibile visualizzare i costi nell'analisi dei costi. Gestione costi Microsoft consente di pianificare, analizzare e ridurre la spesa per ottimizzare l'investimento nel cloud. È possibile visualizzare e filtrare i costi di Batch da visualizzare e filtrare, prevedere i costi futuri e impostare limiti di spesa con avvisi quando vengono raggiunti tali limiti.

Nella portale di Azure è possibile creare budget e avvisi di spesa per i pool di Batch o gli account Batch. I budget e gli avvisi sono utili per informare gli stakeholder di eventuali rischi di eccedenza, anche se è possibile che si verifichi un ritardo negli avvisi di spesa e che si superi leggermente un budget.

Lo screenshot seguente mostra un esempio della visualizzazione Analisi dei costi per una sottoscrizione, filtrata per visualizzare solo i costi accumulati associati a tutti gli account Batch. I grafici inferiori mostrano come il costo totale per il periodo selezionato può essere classificato in base a servizio, posizione e contatore utilizzati. Anche se si tratta di un esempio e non è destinato a riflettere i costi visualizzati per le sottoscrizioni, è tipico che il costo più alto sia per le macchine virtuali allocate per i nodi del pool di Batch.

Screenshot showing cost analysis in the Azure portal for all Batch accounts in a subscription.

È possibile ottenere un ulteriore livello di dettaglio dell'analisi dei costi specificando un filtro risorsa . Per gli account Batch, questi valori sono il nome dell'account Batch più il nome del pool. In questo modo è possibile visualizzare i costi per un pool specifico, più pool o uno o più account.

Visualizzare l'analisi dei costi per un pool di Batch

Modalità di allocazione pool del servizio Batch

Per gli account Batch creati con la modalità di allocazione del pool di servizi Batch:

  1. Nella portale di Azure digitare o selezionare Gestione dei costi e fatturazione.
  2. Selezionare la sottoscrizione nella sezione Ambiti di fatturazione.
  3. In Gestione dei costi selezionare Analisi dei costi.
  4. Selezionare Aggiungi filtro. Nel primo elenco a discesa selezionare Risorsa.
  5. Nel secondo elenco a discesa selezionare il pool di Batch. Quando il pool è selezionato, viene visualizzata l'analisi dei costi per il pool. Lo screenshot seguente mostra i dati di esempio. Screenshot showing cost analysis of a Batch pool in the Azure portal.

L'analisi dei costi risultante mostra il costo del pool, nonché le risorse che contribuiscono a questo costo. In questo esempio, le macchine virtuali usate nel pool sono la risorsa più costosa.

Nota

Il pool in questo esempio usa La configurazione della macchina virtuale, consigliata per la maggior parte dei pool e viene addebitata in base alla struttura dei prezzi Macchine virtuali. I pool che usano Servizi cloud Configurazione vengono addebitati in base alla struttura dei prezzi Servizi cloud.

I tag possono essere associati agli account Batch, consentendo l'uso dei tag per filtrare ulteriormente i costi. Ad esempio, i tag possono essere usati per associare le informazioni di progetto, utente o gruppo a un account Batch. I tag non possono attualmente essere associati ai pool di Batch.

Modalità di allocazione del pool di sottoscrizioni utente

Per gli account Batch creati con la modalità di allocazione del pool di sottoscrizioni utente:

  1. Nella portale di Azure digitare o selezionare Gestione dei costi e fatturazione.
  2. Selezionare la sottoscrizione nella sezione Ambiti di fatturazione.
  3. In Gestione dei costi selezionare Analisi dei costi.
  4. Selezionare Aggiungi filtro. Nel primo elenco a discesa selezionare Tag.
  5. Nel secondo elenco a discesa selezionare poolname.
  6. Nel terzo elenco a discesa selezionare il pool di Batch. Quando il pool è selezionato, viene visualizzata l'analisi dei costi per il pool. Lo screenshot seguente mostra i dati di esempio. Screenshot showing cost analysis of a user subscription Batch pool in the Azure portal.

Si noti che se si è interessati a visualizzare i dati sui costi per tutti i pool in un account Batch di sottoscrizione utente, è possibile selezionare batchaccountname nel secondo elenco a discesa e il nome dell'account Batch nel terzo elenco a discesa.

Nota

I pool creati dagli account Batch della sottoscrizione utente non vengono visualizzati nel filtro risorse , anche se l'utilizzo viene ancora visualizzato quando si filtrano "macchine virtuali" con il nome del servizio.

Creare un budget per un pool di Batch

È possibile creare budget e ricevere avvisi relativi ai costi quando vengono raggiunte varie percentuali di un budget, ad esempio il 60%, l'80% e il 100%. I budget possono specificare uno o più filtri, in modo da poter monitorare e avvisare i costi dell'account Batch a varie granularità.

  1. Nella pagina Analisi costi selezionare Budget: nessuno.
  2. Selezionare Crea nuovo budget >.
  3. Usare la finestra risultante per configurare un budget specifico per il pool. Per altre informazioni, vedere Esercitazione: Creare e gestire budget di Azure.

Ridurre al minimo i costi associati ad Azure Batch

A seconda dello scenario, è possibile ridurre i costi il più possibile. Prendere in considerazione l'uso di una o più di queste strategie per ottimizzare l'efficienza dei carichi di lavoro e ridurre i potenziali costi.

Ridurre l'uso dei nodi del pool

I costi più grandi associati all'uso di Batch sono in genere dalle macchine virtuali allocate per i nodi del pool. Per i pool di configurazione delle macchine virtuali, anche i dischi gestiti associati usati per i dischi del sistema operativo della macchina virtuale possono contribuire in modo significativo ai costi.

Valutare l'applicazione Batch per determinare se i nodi del pool sono ben utilizzati dalle attività del processo o se i nodi del pool sono inattive per più del tempo previsto. Può essere possibile ridurre il numero di nodi del pool allocati, ridurre la frequenza di aumento delle prestazioni dei nodi del pool o aumentare la frequenza di riduzione delle prestazioni per aumentare l'utilizzo.

Oltre al monitoraggio personalizzato, le metriche di Batch consentono di identificare i nodi allocati ma in uno stato di inattività. È possibile selezionare una metrica per la maggior parte degli stati del nodo del pool da visualizzare usando le metriche di monitoraggio batch nella portale di Azure. È possibile visualizzare "Conteggio nodi inattive" e "Conteggio nodi in esecuzione" per fornire un'indicazione del livello di utilizzo dei nodi del pool, ad esempio.

Verificare che i nodi del pool siano in grado di eseguire attività

I nodi allocati elencati per un pool normalmente comportano costi, ma è possibile che i nodi del pool siano in uno stato in cui non è possibile eseguire attività, ad esempio "inutilizzabili" o "starttaskfailed". Le API o le metriche batch possono essere usate per monitorare e rilevare questa categoria di macchine virtuali. Il motivo di questi stati può quindi essere determinato e l'azione correttiva intrapresa per ridurre o eliminare questi nodi non integri.

Usare le dimensioni corrette della macchina virtuale del nodo del pool

Assicurarsi che vengano usate le dimensioni appropriate della macchina virtuale, in modo che le macchine virtuali vengano usate correttamente durante l'esecuzione delle attività, fornendo al tempo necessario le prestazioni necessarie per completare le attività del processo. Le macchine virtuali del nodo del pool possono essere sottoutilizzate in alcune situazioni, ad esempio un utilizzo ridotto della CPU. I costi possono essere risparmiati scegliendo una dimensione di macchina virtuale con un prezzo inferiore.

Per determinare l'utilizzo delle macchine virtuali, è possibile accedere a un nodo quando si eseguono attività per visualizzare i dati sulle prestazioni o usare funzionalità di monitoraggio, ad esempio Application Insights, per ottenere dati sulle prestazioni dai nodi del pool.

Usare gli slot del pool per ridurre i requisiti dei nodi

È possibile specificare più slot di attività per un pool, in modo che il numero corrispondente di attività possa essere eseguito in parallelo in ogni nodo. Gli slot di attività del pool possono essere usati per ridurre il numero di nodi usati in un pool scegliendo dimensioni di macchina virtuale maggiori ed eseguendo più attività in parallelo sul nodo per garantire che il nodo sia ben utilizzato. Se i nodi sono sottoutilizzati, è possibile usare gli slot per aumentare l'utilizzo. Ad esempio, per un'applicazione di attività a thread singolo, è possibile configurare uno slot per core. È anche possibile avere più slot rispetto ai core. Ciò sarebbe applicabile se l'applicazione si blocca in modo significativo in attesa che vengano restituite chiamate a servizi esterni, ad esempio.

L'impostazione taskSchedulingPolicy per pack garantire che le macchine virtuali vengano usate il più possibile, con la scalabilità più facilmente in grado di rimuovere nodi che non eseguono alcuna attività.

Usare macchine virtuali Spot di Azure

Le macchine virtuali spot di Azure riducono il costo dei carichi di lavoro Batch sfruttando la capacità di calcolo in eccesso in Azure. Quando si specificano macchine virtuali spot nei pool, Batch usa questa eccedenza per eseguire il carico di lavoro. Quando si usano macchine virtuali spot invece di macchine virtuali dedicate, è possibile risparmiare notevolmente sui costi. Tenere presente che le macchine virtuali spot non sono adatte a tutti i carichi di lavoro, poiché potrebbe non essere disponibile capacità da allocare o potrebbero essere annullate.

Usare dischi temporanei del sistema operativo

Per impostazione predefinita, i nodi del pool usano dischi gestiti, che comportano costi. I pool di configurazione delle macchine virtuali in alcune dimensioni delle macchine virtuali possono usare dischi temporanei del sistema operativo, che creano il disco del sistema operativo nella cache della macchina virtuale o nell'unità SSD temporanea, per evitare costi aggiuntivi associati ai dischi gestiti.

Acquistare prenotazioni per le istanze di macchina virtuale

Se si intende usare Batch per un lungo periodo di tempo, è possibile ridurre il costo delle macchine virtuali usando prenotazioni di Azure per i carichi di lavoro. Una tariffa di prenotazione è notevolmente inferiore rispetto a una tariffa con pagamento in base al consumo. Le istanze di macchina virtuale usate senza una prenotazione vengono addebitate alla tariffa con pagamento in base al consumo. Quando si acquista una prenotazione, viene applicato lo sconto per la prenotazione. Quando si esegue il commit a piani di un anno o tre anni per le istanze di macchine virtuali, vengono applicati sconti significativi all'utilizzo delle macchine virtuali, incluse le macchine virtuali usate tramite pool di Batch.

È importante notare che lo sconto per la prenotazione è "use-it-or-lose-it". Se non vengono usate risorse corrispondenti per un'ora, si perderà la quantità di prenotazione per quell'ora. Le ore riservate inutilizzate non possono essere inoltrate e pertanto vengono perse se non usate. I carichi di lavoro batch spesso ridimensionano il numero di macchine virtuali allocate in base al carico e hanno un carico variabile, inclusi i periodi in cui non è presente alcun carico. È quindi necessario determinare l'importo della prenotazione, dato che le ore riservate vengono perse se le macchine virtuali Batch vengono ridimensionate al di sotto della quantità di prenotazione.

Usare il ridimensionamento automatico

Il ridimensionamento automatico ridimensiona in modo dinamico il numero di macchine virtuali nel pool di Batch in base alle esigenze del processo corrente. Quando si ridimensiona il pool in base alla durata di un processo, il ridimensionamento automatico garantisce che le macchine virtuali vengano ridimensionate e usate solo quando è necessario eseguire un processo. Al termine del processo o quando non sono presenti processi, le macchine virtuali vengono automaticamente ridimensionate per salvare le risorse di calcolo. Il ridimensionamento consente di ridurre il costo complessivo della soluzione Batch usando solo le risorse necessarie.

Passaggi successivi