0Pricing
Azure Fundamentals · Lezione

Set di scalabilità delle macchine virtuali

Aumenti o riduca automaticamente il numero di VM identiche in base alla domanda e configuri probe di integrità e regole di bilanciamento del carico per applicazioni ad alta disponibilità.

Set di scalabilità delle macchine virtuali è una lezione Azure Fundamentals gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Azure Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Azure Fundamentals include 4 lezioni in totale.

Il problema risolto dagli Scale Sets

Gestire manualmente una flotta di VM identiche, aggiungendo server durante i picchi di domanda e rimuovendoli quando la domanda diminuisce, è un'attività tediosa, soggetta a errori e lenta. I Virtual Machine Scale Sets (VMSS) automatizzano questo processo gestendo un gruppo di VM identiche e bilanciate del carico come un'unica risorsa. Quando la domanda aumenta, VMSS aggiunge automaticamente nuove istanze di VM. Quando la domanda diminuisce, rimuove le istanze. In questo modo non è necessario alcun intervento manuale e si paga solo la capacità necessaria in ogni momento.

Creazione di uno Scale Set

Uno scale set è definito da un profilo VM (immagine, dimensioni, configurazione dei dischi ed estensioni) condiviso da ogni istanza del set. Quando create uno scale set, specificate il numero minimo e massimo di istanze e la capacità iniziale. Tutte le istanze vengono create dalla stessa immagine, garantendo la coerenza dell'intera flotta. Potete distribuire uno scale set tra più zone di disponibilità; Azure distribuisce automaticamente le istanze in modo uniforme tra le zone per garantire un'elevata disponibilità.

# Create a VM Scale Set across Zones 1, 2, and 3
az vmss create \
  --resource-group myRG \
  --name myScaleSet \
  --image Ubuntu2204 \
  --instance-count 2 \
  --zones 1 2 3 \
  --admin-username azureuser \
  --generate-ssh-keys

Regole di autoscaling

Le regole di autoscaling di VMSS definiscono quando aggiungere o rimuovere istanze in base alle metriche. Una regola tipica è la seguente: «Quando l'utilizzo medio della CPU supera il 70% per 5 minuti, aggiungere 2 istanze. Quando l'utilizzo medio della CPU scende al di sotto del 30% per 10 minuti, rimuovere 1 istanza». Potete anche creare regole basate su metriche personalizzate di Azure Monitor (ad es., profondità della coda o frequenza delle richieste HTTP) oppure su una pianificazione (ad es., aumentare a 20 istanze ogni mattina dei giorni feriali e tornare a 5 durante la notte). La combinazione di regole basate sulle metriche e sulla pianificazione offre un controllo preciso sulla capacità.

# Add autoscale rule: scale out when CPU > 70%
az monitor autoscale rule create \
  --resource-group myRG \
  --autoscale-name myScaleSetAutoscale \
  --condition 'Percentage CPU > 70 avg 5m' \
  --scale out 2

Bilanciamento del carico con gli Scale Sets

Gli scale set sono quasi sempre associati a un bilanciatore del carico per distribuire le richieste in ingresso tra tutte le istanze integre. Azure offre due opzioni: Azure Load Balancer (livello 4, TCP/UDP) per scenari a bassa latenza e throughput elevato, e Azure Application Gateway (livello 7, HTTP/HTTPS) per applicazioni web che richiedono instradamento basato sull'URL, terminazione SSL e protezione WAF. Il bilanciatore del carico usa health probe per rilevare le istanze non integre e interrompe automaticamente l'instradamento del traffico verso di esse finché non tornano operative.

Health probe e riparazione delle istanze

VMSS può essere configurato con la riparazione automatica delle istanze: se una health probe determina che un'istanza non è integra (ad es., l'applicazione non risponde sulla porta 80), lo scale set può automaticamente eliminare e sostituire l'istanza con una nuova istanza integra. Questa funzionalità viene configurata tramite l'impostazione automaticRepairsPolicy. Un periodo di tolleranza (ad es., 10 minuti dopo l'avvio) impedisce che le istanze vengano sostituite prima di aver avuto il tempo di avviare l'applicazione e superare il primo controllo di integrità.

Orchestrazione Uniform e Flexible

Azure VMSS supporta due modalità di orchestrazione: modalità Uniform: tutte le istanze sono identiche e gestite come gruppo, ideale per carichi di lavoro stateless come server web e code di worker; modalità Flexible: le istanze possono avere dimensioni e configurazioni diverse e le singole VM possono essere gestite indipendentemente, continuando a beneficiare della distribuzione tra zone e del modello di integrità dello scale set. L'orchestrazione Flexible è più adatta ai carichi di lavoro eterogenei o quando è necessario sostituire istanze specifiche senza influire sulle altre.

Aggiornamenti progressivi senza downtime

Quando aggiornate l'immagine o la configurazione delle VM in uno scale set, dovete propagare la modifica a tutte le istanze. VMSS supporta gli aggiornamenti progressivi, che aggiornano le istanze in piccoli batch (ad es., il 20% alla volta) anziché tutte insieme. In questo modo la maggior parte delle istanze rimane in servizio mentre vengono applicati gli aggiornamenti. I criteri di aggiornamento progressivo consentono di configurare la dimensione massima dei batch e il tempo di pausa tra un batch e l'altro, offrendo un controllo dettagliato sulla velocità di aggiornamento e riducendo al minimo l'impatto sugli utenti.

Istanze Spot negli Scale Sets

VMSS può usare le Spot Instances (chiamate anche Azure Spot VM) per ottenere un notevole risparmio sui costi, fino al 90% in meno rispetto ai prezzi con pagamento in base al consumo, utilizzando la capacità Azure non utilizzata. Lo svantaggio è che le istanze Spot possono essere evicted con un preavviso di soli 30 secondi quando Azure deve recuperare la capacità. Per questo motivo, le istanze Spot in VMSS sono adatte a carichi di lavoro stateless e tolleranti ai guasti, come processi batch, codifica multimediale e agenti di compilazione CI/CD, che possono tollerare interruzioni e riprendere l'esecuzione dai checkpoint.

Limiti di scalabilità e quote

Per impostazione predefinita, un VMSS può contenere fino a 1.000 istanze VM quando usa immagini di Azure Marketplace, oppure fino a 600 istanze per le immagini personalizzate. Le sottoscrizioni Azure hanno inoltre quote di vCPU per area geografica che limitano il numero di vCPU utilizzabili complessivamente tra tutte le risorse. Se dovete superare i limiti predefiniti, potete richiedere un aumento della quota tramite il portale Azure. Pianificare in anticipo questi limiti è importante per le distribuzioni di produzione su larga scala che potrebbero dover raggiungere migliaia di istanze durante gli eventi di picco.

VMSS per carichi di lavoro stateful

Sebbene VMSS sia progettato principalmente per carichi di lavoro stateless, può anche gestire applicazioni stateful usando dischi del sistema operativo persistenti. In questa configurazione, ogni istanza conserva il proprio disco del sistema operativo quando viene deallocata durante la riduzione della scalabilità; lo stato specifico dell'istanza, come la configurazione univoca o i dati di sessione, viene quindi preservato. Questa soluzione viene usata per applicazioni come i server di gioco, in cui ogni istanza ha un'identità distinta. Tuttavia, per la maggior parte degli scenari stateful, come database e cache, i servizi gestiti Azure dedicati, come Azure SQL o Azure Cache for Redis, sono più adatti delle VM in uno scale set.

Monitoraggio e diagnostica degli Scale Set

Il monitoraggio di un VMSS richiede visibilità sia a livello di scale set (numero di istanze nel tempo, eventi di autoscaling) sia a livello di singola istanza (CPU, memoria, disco e log dell'applicazione). Azure Monitor raccoglie automaticamente le metriche della piattaforma per lo scale set. Per le metriche e i log a livello di applicazione, installate l'estensione Azure Monitor Agent sulle istanze tramite il profilo VM dello scale set, in modo che ogni nuova istanza inizi automaticamente a inviare dati all'area di lavoro Log Analytics. In questo modo ottenete un'osservabilità unificata dell'intera flotta da un'unica dashboard.

Verifica rapida

Verificate la vostra comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.

Riepilogo della lezione

In questa lezione avete imparato che: i VM Scale Sets gestiscono un gruppo di VM identiche e bilanciate del carico ed eseguono l'autoscaling in base a metriche o pianificazioni; le health probe e la riparazione automatica delle istanze mantengono la flotta integra senza interventi manuali; inoltre, gli aggiornamenti progressivi consentono di aggiornare senza downtime sostituendo le istanze in piccoli batch. Nella prossima lezione esamineremo Azure Virtual Desktop come soluzione desktop ospitata nel cloud.

Domande Frequenti

La lezione «Set di scalabilità delle macchine virtuali» è gratuita?

Sì — il testo completo di «Set di scalabilità delle macchine virtuali» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Azure Fundamentals, passa a CoddyKit PRO. Il corso Azure Fundamentals include 4 lezioni in totale.

Cosa imparerò in «Set di scalabilità delle macchine virtuali»?

Aumenti o riduca automaticamente il numero di VM identiche in base alla domanda e configuri probe di integrità e regole di bilanciamento del carico per applicazioni ad alta disponibilità. Eserciti Azure Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Azure Fundamentals?

Non è richiesta alcuna esperienza precedente. Azure Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Set di scalabilità delle macchine virtuali»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Azure Fundamentals?

Sì. Ogni lezione Azure Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Macchine virtuali Azure
  2. Set di scalabilità delle macchine virtuali
  3. Azure Virtual Desktop
  4. Scegliere il servizio di calcolo più adatto
← Torna a Azure Fundamentals