Considerazioni sulla progettazione per i set di scalabilità

Questo argomento descrive una serie di considerazioni di progettazione per i set di scalabilità di macchine virtuali. Per sapere che cosa sono i set di scalabilità di macchine virtuali, vedere Panoramica dei set di scalabilità di macchine virtuali.

Quando usare i set di scalabilità invece delle macchine virtuali?

I set di scalabilità sono in genere utili per distribuire un'infrastruttura a disponibilità elevata che include un set di computer con una configurazione simile. Tuttavia, alcune funzionalità sono disponibili soltanto nei set di scalabilità, mentre altre sono disponibili solo nelle macchine virtuali. Per prendere una decisione consapevole su quando usare ogni tecnologia, è consigliabile esaminare prima alcune delle funzionalità di uso comune disponibili nei set di scalabilità ma non nelle macchine virtuali:

Funzionalità specifiche dei set di scalabilità

Funzionalità specifiche delle macchine virtuali

D'altra parte, alcune funzionalità sono disponibili solo nelle macchine virtuali (almeno per il momento):

  • È possibile collegare dischi dati a singole macchine virtuali specifiche, mentre in un set di scalabilità i dischi dati collegati vengono configurati per tutte le macchine virtuali.
  • È possibile collegare dischi dati non vuoti alle singole macchine virtuali, ma non alle macchine virtuali in un set di scalabilità.
  • È possibile acquisire uno snapshot di una singola macchina virtuale, ma non di una macchina virtuale in un set di scalabilità.
  • È possibile acquisire un'immagine da una singola macchina virtuale, ma non da una macchina virtuale in un set di scalabilità.
  • È possibile eseguire la migrazione di una singola macchina virtuale da dischi nativi a dischi gestiti, ma la stessa operazione non può essere eseguita per le macchine virtuali in un set di scalabilità.
  • È possibile assegnare indirizzi IP pubblici IPv6 alle schede di interfaccia di rete di singole macchine virtuali, ma la stessa operazione non può essere eseguita per le macchine virtuali in un set di scalabilità. Si noti che è possibile assegnare indirizzi IP pubblici IPv6 ai servizi di bilanciamento del carico che si trovano davanti a singole macchine virtuali o a quelle di un set di scalabilità.

Archiviazione

Set di scalabilità con Azure Managed Disks

Invece che con i tradizionali account di archiviazione di Azure, i set di scalabilità possono essere creati con Azure Managed Disks. Managed Disks offre i seguenti vantaggi:

Se si ha un modello esistente, è anche possibile aggiornare il modello per l'uso di Managed Disks.

Archiviazione gestita dall'utente

Un set di scalabilità non definito con Azure Managed Disks si basa sugli account di archiviazione creati dall'utente per archiviare i dischi del sistema operativo delle macchine virtuali nel set. È consigliabile un rapporto di 20 o meno macchine virtuali per ogni account di archiviazione per ottenere il massimo IO e per sfruttare i vantaggi del provisioning in eccesso (vedere di seguito). È anche consigliabile usare le diverse lettere dell'alfabeto come caratteri iniziali dei nomi degli account di archiviazione. Questo consente di suddividere il carico tra diversi sistemi interni.

Provisioning eccessivo

L'impostazione predefinita per i set di scalabilità è attualmente il "provisioning eccessivo" di macchine virtuali. Con il provisioning eccessivo attivato, il set di scalabilità di fatto avvia un maggior numero di macchine virtuali rispetto a quanto richiesto, dopodiché elimina le macchine virtuali aggiuntive una volta eseguito correttamente il provisioning del numero di macchine virtuali richiesto. Il provisioning eccessivo migliora le percentuali di riuscita del provisioning e riduce i tempi di distribuzione. Le macchine virtuali aggiuntive non vengono addebitate all'utente e non se ne tiene conto per il raggiungimento dei limiti di quota.

Il provisioning eccessivo consente di migliorare la percentuale di riuscita del provisioning, ma può causare il comportamento confuso delle applicazioni non progettate per gestire VM aggiuntive che compaiono e scompaiono senza preavviso. Per disattivare il provisioning eccessivo, assicurarsi che il modello includa la stringa seguente: "overprovision": "false". Per altre informazioni, consultare la documentazione dell'API REST relativa ai set di scalabilità.

Se il set di scalabilità usa l'archiviazione gestita dall'utente e se si disattiva il provisioning in eccesso, è possibile disporre di più di 20 macchine virtuali per account di archiviazione. Tuttavia, non è consigliabile superare le 40 macchine virtuali per ragioni di prestazioni I/O.

Limiti

Un set di scalabilità basato su un'immagine Marketplace (chiamata anche immagine di piattaforma) e configurato per usare Azure Managed Disks supporta una capacità massima di 1.000 macchine virtuali. Se si configura il set di scalabilità per supportare più di 100 macchine virtuali, non tutti gli scenari funzioneranno allo stesso modo, ad esempio il bilanciamento del carico. Per altre informazioni, vedere Uso di set di scalabilità di macchine virtuali di grandi dimensioni.

Un set di scalabilità configurato con account di archiviazione gestita dall'utente ha un limite corrente di 100 macchine virtuali. Per questa scalabilità sono consigliati 5 account di archiviazione.

Un set di scalabilità basato su un'immagine personalizzata (creata dall'utente) può avere una capacità massima di 100 macchine virtuali quando configurato con Azure Managed Disks. Se il set di scalabilità è configurato con gli account di archiviazione gestita dall'utente, è necessario creare tutti i dischi rigidi virtuali del disco del sistema operativo all'interno di un unico account di archiviazione. Di conseguenza, il numero massimo consigliato di VM in un set di scalabilità basato su un'immagine personalizzata e su un'archiviazione gestita dall'utente è 20. Se si disattiva il provisioning eccessivo, è possibile arrivare a 40.

Per un numero di macchine virtuali superiore a tali limiti, è necessario distribuire più set di scalabilità, come indicato in questo modello.