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%.
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.
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:
- Azure portal
- PowerShell
- Interfaccia della riga di comando multipiattaforma (CLI)
- API REST di Monitoraggio di Azure
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:
- Avviare un runbook di 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 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. |
L'elenco completo dei campi e delle descrizioni configurabili è disponibile nella documentazione sull' API REST per il ridimensionamento automatico.
Per esempi di codice, vedere:
- Esercitazione: Ridimensionare automaticamente un set di scalabilità di macchine virtuali con l'interfaccia della riga di comando di Azure
- Esercitazione: Ridimensionare automaticamente un set di scalabilità di macchine virtuali con un modello di Azure
Servizi supportati per il ridimensionamento automatico
La scalabilità automatica supporta i servizi seguenti.
Passaggi successivi
Per ulteriori informazioni sulla scalabilità automatica, vedere le risorse seguenti:
- Metriche comuni per la scalabilità automatica di Monitoraggio di Azure
- Usare le azioni di ridimensionamento automatico per inviare notifiche di avviso di webhook e posta elettronica in Azure Insights
- Esercitazione: Ridimensionare automaticamente un set di scalabilità di macchine virtuali con l'interfaccia della riga di comando di Azure
- Esercitazione: Ridimensionare automaticamente un set di scalabilità di macchine virtuali con Azure PowerShell
- Informazioni di riferimento sulla scalabilità automatica dell'interfaccia della riga di comando
- Definizione di risorsa del modello ARM
- Informazioni di riferimento su PowerShell Az.Monitor
- Informazioni di riferimento sulle API REST: Impostazioni di scalabilità automatica