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 Ridimensionare automaticamente le risorse supportate.

Nota

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

Informazioni sul ridimensionamento automatico

La scalabilità automatica è un servizio che è possibile usare per 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%.

A diagram that shows scaling out by adding virtual machine instances.

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 di posta elettronica, notifiche o webhook per attivare processi in altri sistemi.

Scalabilità 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.

A diagram that shows scaling up by adding CPU and memory to a virtual machine.

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 di posta elettronica, notifiche o webhook per attivare processi in altri sistemi.

Scalabilità automatica predittiva

La scalabilità automatica predittiva usa l'apprendimento automatico per gestire e ridimensionare i set di scalabilità di macchine virtuali con modelli di carico 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 la scalabilità automatica tramite:

Architettura

Il diagramma seguente illustra l'architettura di scalabilità automatica.

Diagram that shows autoscale flow.

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à di App Web del servizio app Azure e di Azure Servizi cloud provengono direttamente dall'infrastruttura di Azure. Alcune metriche di uso comune includono l'utilizzo della CPU, l'utilizzo della memoria, i conteggi dei thread, la 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.

Ora

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 vengono soddisfatte 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 messaggio di posta elettronica agli amministratori della sottoscrizione, ai coamministratori 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:
    • Avviare un runbook Automazione di Azure.
    • Chiamare una funzione di Azure.
    • Attivare un'app per la logica di Azure.

Impostazioni di scalabilità automatica

Le impostazioni di scalabilità automatica contengono la configurazione della scalabilità automatica. L'impostazione include 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.

La scalabilità automatica 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 scalabilità orizzontale e di scalabilità orizzontale. 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 ricorrenza Indica quando la scalabilità automatica deve mettere in vigore 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. La scalabilità automatica può inviare una notifica a uno o più indirizzi di posta elettronica o effettuare una chiamata usando uno o più webhook. È possibile configurare più webhook nel codice JSON, ma solo uno nell'interfaccia utente.

Diagram that shows Azure autoscale setting, profile, and rule structure.

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 Azure Macchine virtuali 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 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) Ridimensionare 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 bus di servizio di Azure
App per la logica di Azure - Ambiente del servizio di integrazione (I edizione Standard) Aggiungere la capacità ISE

Passaggi successivi

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