Considerazioni sulla progettazione per i set di scalabilità

Questo articolo contiene una serie di considerazioni sulla 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?

In genere, i set di scalabilità sono utili per qualsiasi distribuzione di più macchine virtuali, in quanto consente di definire se le istanze vengono distribuite tra zone di disponibilità o domini di errore, se gli aggiornamenti della piattaforma devono essere coordinati per ridurre o eliminare il tempo di inattività completo dell'applicazione e fornisce orchestrazioni e gestione delle istanze batch. 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 una 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à

  • Dopo aver specificato la configurazione del set di scalabilità, è possibile aggiornare la proprietà capacity per distribuire in parallelo altre macchine virtuali. Si tratta di una procedura molto più semplice rispetto alla scrittura di uno script per orchestrare la distribuzione in parallelo di molte macchine virtuali singole.
  • È possibile usare la scalabilità automatica di Azure per aggiungere o rimuovere automaticamente istanze in base a una pianificazione, metriche o intelligenza artificiale predittiva predefinita.
  • È possibile specificare criteri di aggiornamento per semplificare l'implementazione degli aggiornamenti nelle macchine virtuali del set di scalabilità. Con le singole macchine virtuali, è necessario orchestrare gli aggiornamenti manualmente.

Funzionalità specifiche delle macchine virtuali

Alcune funzionalità sono attualmente disponibili solo nelle macchine virtuali:

  • È possibile acquisire un'immagine da una macchina virtuale in un set di scalabilità flessibile, ma non da una macchina virtuale in un set di scalabilità uniforme.
  • È possibile eseguire la migrazione di una singola macchina virtuale dai dischi classici ai dischi gestiti, ma non è possibile eseguire la migrazione di istanze di macchine virtuali in un set di scalabilità uniforme.

Provisioning eccessivo

Importante

L'overprovisioning è supportato solo per la modalità di orchestrazione uniforme; non è supportato per la modalità di orchestrazione flessibile.

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 del Marketplace (nota anche come immagine della piattaforma) o un'immagine personalizzata definita dall'utente in una raccolta di calcolo di Azure e configurata per l'uso di Azure Managed Disks supporta una capacità fino a 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 sull'immagine gestita legacy può avere una capacità di fino a 600 macchine virtuali quando configurate con Dischi gestiti di Azure. 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.