Condividi tramite


Panoramica della scalabilità automatica in Azure

Questo articolo descrive la funzionalità di scalabilità automatica in Monitoraggio di Azure e i relativi vantaggi.

La scalabilità automatica supporta molti tipi di risorse. Per altre informazioni sulle risorse supportate, vedere risorse supportate per la scalabilità automatica.

Nota

I set di disponibilità sono una funzionalità di scalabilità precedente per le macchine virtuali con supporto limitato. È consigliabile eseguire la migrazione ai set di scalabilità di macchine virtuali di Azure per un supporto di scalabilità automatica più veloce e affidabile.

Informazioni sul ridimensionamento automatico

La scalabilità automatica è un servizio che consente di aggiungere e rimuovere automaticamente le risorse in base al carico dell'applicazione.

Quando l'applicazione presenta un carico più elevato, la scalabilità automatica aggiunge risorse per gestire il carico aumentato. Quando il carico è basso, la scalabilità automatica riduce il numero di risorse, riducendo così i costi. È possibile ridimensionare l'applicazione in base a metriche come l'utilizzo della CPU, la lunghezza della coda e la memoria disponibile. È anche possibile ridimensionare in base a una pianificazione. Le metriche e le pianificazioni vengono configurate nelle regole. Le regole includono un livello minimo di risorse che è necessario eseguire l'applicazione e un livello massimo di risorse che non verranno superate.

Ad esempio, aumentare il numero di istanze dell'applicazione aggiungendo macchine virtuali quando l'utilizzo medio della CPU per macchina virtuale è superiore al 70%. Ridimensionarlo rimuovendo le macchine virtuali quando l'utilizzo della CPU scende al 40%.

Diagramma che mostra la scalabilità orizzontale aggiungendo istanze di macchina virtuale.

Quando vengono soddisfatte le condizioni nelle regole, vengono attivate una o più azioni di scalabilità automatica, aggiungendo o rimuovendo macchine virtuali. È anche possibile eseguire altre azioni, ad esempio l'invio di messaggi e-mail, notifiche o webhook per attivare processi in altri sistemi.

Ridimensionamento orizzontale e verticale

La scalabilità automatica aumenta o si riduce orizzontalmente. Il ridimensionamento orizzontale è un aumento o una diminuzione del numero di istanze di risorse. Ad esempio, per un set di scalabilità di macchine virtuali, l'aumento del numero di istanze implica l'aggiunta di altre macchine virtuali. Il ridimensionamento significa rimuovere le macchine virtuali. La scalabilità orizzontale è flessibile in una situazione cloud perché è possibile usarla per eseguire un numero elevato di macchine virtuali per gestire il carico.

La scalabilità automatica non supporta il ridimensionamento verticale. Al contrario, il ridimensionamento verso l'alto e il basso o la scalabilità verticale mantiene costante lo stesso numero di istanze di risorse, ma offre una maggiore capacità in termini di memoria, velocità della CPU, spazio su disco e rete. La scalabilità verticale è limitata dalla disponibilità di hardware di dimensioni maggiori, che alla fine raggiunge un limite superiore. La disponibilità delle dimensioni hardware varia in Base all'area di Azure. Il ridimensionamento verticale potrebbe anche richiedere un riavvio della macchina virtuale durante il processo di ridimensionamento.

Diagramma che mostra la scalabilità verticale aggiungendo CPU e memoria a una macchina virtuale.

Quando vengono soddisfatte le condizioni nelle regole, vengono attivate una o più azioni di scalabilità automatica, aggiungendo o rimuovendo macchine virtuali. È anche possibile eseguire altre azioni, ad esempio l'invio di messaggi e-mail, notifiche o webhook per attivare processi in altri sistemi.

Scalabilità automatica predittiva

La scalabilità automatica predittiva usa Machine Learning per gestire e ridimensionare i set di scalabilità di macchine virtuali di Azure con modelli di carichi di lavoro ciclici. Prevede il carico complessivo della CPU nel set di scalabilità di macchine virtuali, in base ai modelli di utilizzo cronologici della CPU. Il set di scalabilità può quindi essere ridimensionato nel tempo per soddisfare la domanda stimata.

Configurazione della scalabilità automatica

È possibile configurare il ridimensionamento automatico tramite:

Metrica risorsa

Le risorse generano metriche usate nelle regole di scalabilità automatica per attivare gli eventi di scalabilità. I set di scalabilità di macchine virtuali usano i dati di telemetria degli agenti di diagnostica di Azure per generare metriche. I dati di telemetria per la funzionalità App Web di Servizio app di Azure e Servizi cloud di Azure provengono direttamente dall'infrastruttura di Azure. Alcune metriche comunemente usate includono utilizzo della CPU, utilizzo della memoria, conteggio dei thread, lunghezza della coda e l'utilizzo del disco. Per un elenco delle metriche disponibili, vedere Metriche comuni per la scalabilità automatica.

Metriche personalizzate

Usare le metriche personalizzate generate dall'applicazione. Configurare l'applicazione per inviare metriche ad Application Insights in modo da poter usare tali metriche per decidere quando ridimensionare.

Time

Configurare regole basate su pianificazione per attivare eventi di scalabilità. Usare le regole basate sulla pianificazione quando vengono visualizzati modelli di tempo nel carico e si vuole ridimensionare prima che si verifichi una modifica prevista del carico.

Regole

Le regole definiscono le condizioni necessarie per attivare un evento di scala, la direzione del ridimensionamento e la quantità di ridimensionamento. Combinare più regole usando metriche diverse, ad esempio l'utilizzo della CPU e la lunghezza della coda. Definire fino a 10 regole per profilo.

Le regole possono essere:

  • Basato su metrica: trigger basato su un valore della metrica, ad esempio quando l'utilizzo della CPU è superiore al 50%.
  • Basato sul tempo: trigger basato su una pianificazione, ad esempio ogni sabato alle 8:00.

La scalabilità automatica viene ridimensionata se viene soddisfatta una o più delle regole. La scalabilità automatica viene ridimensionata solo se vengono soddisfatte tutte le regole. In termini di operatori logici, l'operatore OR viene usato per la scalabilità orizzontale con più regole. L'operatore AND viene usato per il ridimensionamento con più regole.

Azioni e automazione

Le regole possono attivare una o più azioni. Le azioni includono:

  • Scalabilità: ridimensionare o ridurre le risorse.
  • Posta elettronica: inviare un'e-mail agli amministratori della sottoscrizione, ai co-amministratori e/o a qualsiasi altro indirizzo di posta elettronica.
  • Webhook: chiamare webhook per attivare più azioni complesse all'interno o all'esterno di Azure. In Azure è possibile:

Impostazioni di scalabilità automatica

Le impostazioni di scalabilità automatica includono condizioni di scalabilità che definiscono regole, limiti e pianificazioni e notifiche. Definire una o più condizioni di scalabilità nelle impostazioni e una configurazione di notifica.

Il ridimensionamento automatico usa la terminologia e la struttura seguenti.

INTERFACCIA UTENTE JSON/CLI Descrizione
Condizioni di scalabilità profiles Raccolta di regole, limiti di istanza e pianificazioni in base a una metrica o un'ora. È possibile definire una o più condizioni di scalabilità o profili. Definire fino a 20 profili per impostazione di scalabilità automatica.
Regole regole Set di condizioni in base al tempo o alle metriche che attivano un'azione di scalabilità. È possibile definire una o più regole per le azioni di scale-in e scale-out. Definire fino a un totale di 10 regole per profilo.
Limiti per le istanze capacità Ogni condizione di scala o profilo definisce il numero predefinito, massimo e minimo di istanze che possono essere eseguite in tale profilo.
Programmazione recurrence Indica quando la scalabilità automatica attiva questa condizione o profilo di scalabilità. È possibile avere più condizioni di scalabilità, che consentono di gestire requisiti diversi e sovrapposti. Ad esempio, è possibile avere condizioni di scalabilità diverse per orari diversi del giorno o dei giorni della settimana.
Notify notifica Definisce le notifiche da inviare quando si verifica un evento di scalabilità automatica. Possono essere inviate notifiche a uno o più indirizzi di posta elettronica oppure possono essere effettuate chiamate usando uno o più webhook. È possibile configurare più webhook nel codice JSON, ma solo uno nell'interfaccia utente.

Diagramma che mostra l'impostazione, il profilo e la struttura delle regole di scalabilità automatica di Azure.

L'elenco completo dei campi e delle descrizioni configurabili è disponibile nella documentazione sull' API REST per il ridimensionamento automatico.

Per esempi di codice, vedere:

Servizi supportati per il ridimensionamento automatico

La scalabilità automatica supporta i servizi seguenti.

Service Schema e documentazione
Set di scalabilità di macchine virtuali di Azure Panoramica della scalabilità automatica con i set di scalabilità di macchine virtuali di Azure
Funzionalità app Web del servizio app di Azure Ridimensionamento di app Web
Servizio Gestione API di Azure Ridimensionare automaticamente un'istanza di Gestione API di Azure
Cluster di Esplora dati di Azure Gestire il ridimensionamento dei cluster di Esplora dati di Azure per rispondere al cambiamento della domanda
Analisi di flusso di Azure Unità di streaming a scalabilità automatica (anteprima)
Servizio Azure SignalR (livello Premium) Ridimensionare automaticamente le unità di un servizio Azure SignalR
Azure Machine Learning workspace (Area di lavoro di Azure Machine Learning) Dimensionare automaticamente un endpoint online
Azure Spring Apps Configurare la scalabilità automatica per le applicazioni
Servizi multimediali di Azure Scalabilità automatica in Servizi multimediali
Bus di servizio di Azure Aggiornare automaticamente le unità di messaggistica di uno spazio dei nomi del Bus di servizio di Azure

Passaggi successivi

Per ulteriori informazioni sulla scalabilità automatica, vedere le risorse seguenti: