Funzionamento dei set di scalabilità di macchine virtuali di Azure
I set di scalabilità di macchine virtuali di Azure consentono di creare e gestire un gruppo di macchine virtuali con bilanciamento del carico. La capacità o il numero di istanze della macchina virtuale possono aumentare o diminuire automaticamente in risposta a una pianificazione configurata o quando vengono raggiunte le metriche delle prestazioni definite. Le istanze di macchine virtuali in un set di scalabilità di macchine virtuali possono avere la stessa configurazione o configurazioni diverse.
I set di scalabilità di macchine virtuali offrono disponibilità elevata e scalabilità alle applicazioni. I set di scalabilità di macchine virtuali consentono di gestire, configurare e aggiornare in modo centralizzato un numero elevato di macchine virtuali. Con i set di scalabilità di macchine virtuali è possibile creare servizi su larga scala per aree quali calcolo, Big Data e carichi di lavoro dei contenitori.
I set di scalabilità sono progettati per garantire costi contenuti, scalabilità e affidabilità. Nuove istanze di macchina virtuale vengono create solo quando necessario e vengono rimosse quando non sono più necessarie. Quando sono necessarie nuove istanze, tali istanze vengono generate da un'immagine modello per configurare le istanze e le applicazioni. I set di scalabilità di macchine virtuali di Azure consentono di eseguire fino a 1.000 macchine virtuali in un singolo set di scalabilità.
Tipi di scalabilità per un set di scalabilità
I set di scalabilità di macchine virtuali soddisfano la necessità di creare e gestire rapidamente le macchine virtuali per carichi di lavoro fluttuanti. È possibile configurare due tipi di scalabilità per un set:
Scalabilità pianificata: È possibile pianificare in modo proattivo il set di scalabilità per distribuire uno o N numero di istanze aggiuntive per supportare un picco del traffico, quindi ridurre il numero di istanze al termine del picco.
Scalabilità automatica: Se il carico di lavoro è variabile e non può essere sempre pianificato, è possibile usare il ridimensionamento soglia basato sulle metriche. La scalabilità automatica ridimensiona le risorse in base all'utilizzo del nodo. Le istanze vengono poi ridotte di nuovo quando le risorse tornano a una baseline.
La scalabilità automatica si basa su un set di condizioni, regole e limiti di scalabilità. Una condizione di scalabilità combina un orario con un set di regole di scalabilità. Se l'ora corrente rientra nel periodo definito nella condizione di scalabilità, vengono valutate le regole di scalabilità della condizione. I risultati di questa valutazione determinano se aggiungere o rimuovere istanze nel set di scalabilità.
La condizione di scalabilità definisce anche i limiti di scalabilità, per il numero massimo e minimo di istanze. Limitare il numero massimo di metriche consente di limitare il numero di macchine virtuali che verranno create in modo che un aumento del traffico non pianificato non inneschi automaticamente addebiti di abbonamento imprevisti.
È possibile basare la scalabilità automatica su:
Programma: Usa questo approccio se si sa che ci sarà un aumento del carico di lavoro in una data o in un periodo di tempo specificato. Il ridimensionamento basato su una pianificazione specifica un'ora di inizio e di fine e il numero di istanze da aggiungere al set di scalabilità.
Metriche: Regolare il ridimensionamento monitorando le metriche delle prestazioni associate al set di scalabilità. Quando le metriche superano una soglia specificata, il set di scalabilità può avviare automaticamente nuove istanze di macchine virtuali. Quando le metriche indicano che le risorse extra non sono più necessarie, il set di scalabilità può arrestare le eventuali istanze in eccesso.
Queste metriche vengono comunemente usate per monitorare un set di scalabilità di macchine virtuali:
Percentuale CPU: Questa metrica indica l'utilizzo della CPU in tutte le istanze. Un valore elevato indica che le istanze dipendono sempre più dalla CPU, e questo può causare ritardi nell'elaborazione delle richieste client.
Flussi in ingresso e flussi in uscita: queste metriche mostrano la velocità di flusso del traffico di rete in entrata e in uscita dalle macchine virtuali nel set di scalabilità.
Operazioni di lettura disco/sec e operazioni di scrittura disco/sec: Queste metriche mostrano il volume di I/O su disco nel set di scalabilità.
Profondità coda disco dati: Questa metrica mostra il numero di richieste di I/O in attesa di essere gestite solo per i dischi dati nelle macchine virtuali.
Un set di scalabilità di macchine virtuali può contenere molte condizioni di scalabilità. Viene applicata ogni condizione di scalabilità corrispondente. Un set di scalabilità può anche contenere una condizione di scalabilità predefinita che viene usata se nessun'altra condizione corrisponde alle metriche di prestazioni e orario correnti.
La condizione di scalabilità predefinita è sempre attiva. Non contiene regole di scalabilità, che agiscono in modo efficace come una condizione di scalabilità Null che non viene ridimensionata o ridotta. Tuttavia, è possibile modificare la condizione di scalabilità predefinita per impostare un numero di istanze predefinito, oppure è possibile aggiungere di nuovo una coppia di regole di scalabilità che aumentano e tornano indietro.
Set di scalabilità con istanze di Azure Spot
Un set di scalabilità di macchine virtuali costituito da macchine virtuali con istanze di Azure Spot consente di usare le risorse di calcolo di Azure con un risparmio sui costi fino all'80%. Nell'infrastruttura globale di Azure diventano spesso disponibili risorse di calcolo sottoutilizzate. Un set di scalabilità con istanze spot consente di risparmiare denaro usando questa funzionalità di calcolo sottoutilizzata.
Nota
Quando si usano queste macchine virtuali, tenere presente che sono temporanee. La disponibilità dipende dalle dimensioni, dall'area, dall'ora del giorno e così via. Per queste macchine virtuali non è disponibile un contratto di servizio.
Quando Azure necessita di nuovo della potenza di calcolo, si riceverà una notifica della rimozione della macchina virtuale dal set di scalabilità. L'uso di istanze spot in set di scalabilità è utile per i carichi di lavoro che vengono eseguiti con interruzioni o quando è necessario usare macchine virtuali di maggiori dimensioni a un costo molto ridotto. Tenere presente che non è possibile controllare quando una macchina virtuale potrebbe essere rimossa.
In che modo i set di scalabilità di macchine virtuali differiscono dai pool di macchine virtuali manuali
I set di scalabilità sono basati su macchine virtuali. I set di scalabilità forniscono i livelli di automazione e gestione per eseguire e ridimensionare le applicazioni. Prima della disponibilità di set di scalabilità di macchine virtuali, le organizzazioni spesso creavano e gestivano manualmente singole macchine virtuali o integravano strumenti esistenti per creare un livello simile di automazione.
In questa tabella vengono illustrati i vantaggi dei set di scalabilità rispetto alla gestione manuale di più istanze di macchine virtuali.
| Sceneggiatura | Gruppo manuale di macchine virtuali | Set di scalabilità di macchine virtuali |
|---|---|---|
| Aggiungere istanze di vm aggiuntive | Processo manuale per creare e configurare e garantire la conformità | Creazione automatica da una configurazione centrale |
| Bilanciamento del traffico e distribuzione | Processo manuale per creare e configurare Azure Load Balancer o il gateway applicazione | Creazione e integrazione automatica con Azure Load Balancer o il gateway applicazione |
| Disponibilità elevata e ridondanza | Creazione manuale del set di disponibilità o distribuzione e tracciamento delle macchine virtuali tra zone di disponibilità | Distribuzione automatica delle istanze di macchine virtuali tra zone di disponibilità o set di disponibilità |
| Ridimensionamento delle macchine virtuali | Monitoraggio manuale e Automazione di Azure | Scalabilità automatica in base a metriche host, metriche in-guest, Application Insights o una pianificazione |