Panoramica del ridimensionamento automatico in Macchine virtuali di Microsoft Azure, Servizi cloud e App WebOverview of autoscale in Microsoft Azure Virtual Machines, Cloud Services, and Web Apps

Questo articolo descrive il ridimensionamento automatico di Microsoft Azure e come iniziare a usarlo.This article describes what Microsoft Azure autoscale is, its benefits, and how to get started using it.

Il ridimensionamento automatico di Monitoraggio di Azure si applica solo a set di scalabilità di macchine virtuali, Servizi cloud e app Web del servizio app.Azure Monitor autoscale applies only to Virtual Machine Scale Sets, Cloud Services, and App Service - Web Apps.

Nota

Azure offre due metodi per il ridimensionamento automatico.Azure has two autoscale methods. Una versione precedente del ridimensionamento automatico si applica alle macchine virtuali (set di disponibilità).An older version of autoscale applies to Virtual Machines (availability sets). Questa funzionalità offre supporto limitato ed è consigliabile eseguire la migrazione ai set di scalabilità di macchine virtuali per ottenere un supporto per il ridimensionamento automatico più veloce e affidabile.This feature has limited support and we recommend migrating to virtual machine scale sets for faster and more reliable autoscale support. Questo articolo include un collegamento su come usare la tecnologia precedente.A link on how to use the older technology is included in this article.

Informazioni sul ridimensionamento automaticoWhat is autoscale?

Il ridimensionamento automatico offre la possibilità di avere la quantità corretta di risorse in esecuzione per gestire il carico dell'applicazione.Autoscale allows you to have the right amount of resources running to handle the load on your application. Consente di aggiungere risorse per gestire gli incrementi di carico nonché di risparmiare denaro rimuovendo le risorse inattive.It allows you to add resources to handle increases in load and also save money by removing resources that are sitting idle. È possibile specificare un numero minimo e massimo di istanze da eseguire e aggiungere o rimuovere automaticamente VM in base a un set di regole.You specify a minimum and maximum number of instances to run and add or remove VMs automatically based on a set of rules. La definizione di un minimo assicura che l'applicazione sia sempre in esecuzione anche in assenza di carico.Having a minimum makes sure your application is always running even under no load. La definizione di un massimo limita il costo orario totale possibile.Having a maximum limits your total possible hourly cost. Il ridimensionamento viene eseguito automaticamente tra questi due estremi usando le regole create.You automatically scale between these two extremes using rules you create.

Descrizione del ridimensionamento automatico:

Quando vengono soddisfatte le condizioni delle regole, vengono attivate una o più azioni di ridimensionamento automatico.When rule conditions are met, one or more autoscale actions are triggered. È possibile aggiungere e rimuovere VM o eseguire altre azioni.You can add and remove VMs, or perform other actions. Il diagramma concettuale seguente illustra questo processo.The following conceptual diagram shows this process.

Diagramma di flusso del ridimensionamento automatico

La descrizione seguente si applica ai componenti del diagramma precedente.The following explanation applies to the pieces of the previous diagram.

Metriche delle risorseResource Metrics

Le risorse generano metriche, che vengono elaborate successivamente dalle regole.Resources emit metrics, these metrics are later processed by rules. Le metriche sono disponibili tramite metodi diversi.Metrics come via different methods. I set di scalabilità di macchine virtuali usano i dati di telemetria degli agenti di Diagnostica di Azure, mentre i dati di telemetria per le app Web e i servizi cloud provengono direttamente dall'infrastruttura di Azure.Virtual machine scale sets use telemetry data from Azure diagnostics agents whereas telemetry for Web apps and Cloud services comes directly from the Azure Infrastructure. Alcune statistiche comunemente usate includono utilizzo della CPU, utilizzo della memoria, conteggio dei thread, lunghezza della coda e l'utilizzo del disco.Some commonly used statistics include CPU Usage, memory usage, thread counts, queue length, and disk usage. Per un elenco dei dati di telemetria che è possibile usare, vedere Metriche comuni per i ridimensionamento automatico di Azure Insights.For a list of what telemetry data you can use, see Autoscale Common Metrics.

Metriche personalizzateCustom Metrics

È anche possibile fare uso di eventuali metriche personalizzate generate dalle applicazioni usate.You can also leverage your own custom metrics that your application(s) may be emitting. Se le applicazioni sono state configurate per l'invio di metriche ad Application Insights, è possibile usare tali metriche per prendere decisioni sulla scalabilità.If you have configured your application(s) to send metrics to Application Insights you can leverage those metrics to make decisions on whether to scale or not.

TimeTime

Le regole basate sulla pianificazione sono basate su UTC.Schedule-based rules are based on UTC. Quando si configurano le regole, è necessario impostare correttamente il fuso orario.You must set your time zone properly when setting up your rules.

RegoleRules

Il diagramma mostra una sola regola di ridimensionamento automatico automatica, ma è possibile averne molte.The diagram shows only one autoscale rule, but you can have many of them. È possibile creare regole complesse sovrapposte, secondo le esigenze della situazione locale.You can create complex overlapping rules as needed for your situation. I tipi di regole includonoRule types include

  • Basata su metrica : ad esempio, eseguire questa azione quando l'utilizzo della CPU è superiore al 50%.Metric-based - For example, do this action when CPU usage is above 50%.
  • Basata sul tempo : ad esempio, attivare un webhook alle 8:00 di ogni sabato in un determinato fuso orario.Time-based - For example, trigger a webhook every 8am on Saturday in a given time zone.

Le regole basate sulle metriche misurano il carico dell'applicazione e aggiungono o rimuovono VM in base a tale carico.Metric-based rules measure application load and add or remove VMs based on that load. Le regole basate sulla pianificazione consentono di eseguire il ridimensionamento quando si rilevano modelli temporali nel carico e si vuole che il ridimensionamento venga eseguito prima di un possibile aumento o una possibile riduzione del carico.Schedule-based rules allow you to scale when you see time patterns in your load and want to scale before a possible load increase or decrease occurs.

Azioni e automazioneActions and automation

Le regole possono attivare uno o più tipi di azioni.Rules can trigger one or more types of actions.

  • Ridimensionamento : per aumentare o ridurre il numero di istanze di macchine virtualiScale - Scale VMs in or out
  • Posta elettronica : per inviare un messaggio di posta elettronica ad amministratori e coamministratori di una sottoscrizione e/o ad altri indirizzi di posta elettronica specificatiEmail - Send email to subscription admins, co-admins, and/or additional email address you specify
  • Automatizzare tramite webhook : per chiamare webhook che possono attivare più azioni complesse all'interno o all'esterno di Azure.Automate via webhooks - Call webhooks, which can trigger multiple complex actions inside or outside Azure. All'interno di Azure è possibile avviare un runbook di automazione di Azure, una funzione Azure o un'app per la logica di Azure.Inside Azure, you can start an Azure Automation runbook, Azure Function, or Azure Logic App. Un esempio di URL di terze parti esterno ad Azure include servizi come Slack e Twilio.Example third-party URL outside Azure include services like Slack and Twilio.

Impostazioni di scalabilità automaticaAutoscale Settings

Per il ridimensionamento automatico vengono usate la terminologia e la struttura seguenti.Autoscale use the following terminology and structure.

  • Un' impostazione di ridimensionamento automatico viene letta dal motore di ridimensionamento automatico per determinare se aumentare o ridurre le prestazioni.An autoscale setting is read by the autoscale engine to determine whether to scale up or down. Contiene uno o più profili, informazioni sulla risorsa di destinazione e impostazioni di notifica.It contains one or more profiles, information about the target resource, and notification settings.

    • Un profilo di scalabilità automatica è una combinazione di:An autoscale profile is a combination of a:

      • impostazione di capacità, che indica i valori minimo, massimo e predefinito per il numero di istanze.capacity setting, which indicates the minimum, maximum, and default values for number of instances.
      • set di regole, ognuna delle quali include un trigger (ora o metrica) e un'azione di scalabilità (verso l'alto o verso il basso).set of rules, each of which includes a trigger (time or metric) and a scale action (up or down).
      • ricorrenza, che indica quando il ridimensionamento automatico renderà effettivo il profilo.recurrence, which indicates when autoscale should put this profile into effect.

        È possibile avere più profili per gestire diversi requisiti sovrapposti.You can have multiple profiles, which allow you to take care of different overlapping requirements. È ad esempio possibile avere profili di ridimensionamento automatico per diverse ore del giorno o diversi giorni della settimana.You can have different autoscale profiles for different times of day or days of the week, for example.

    • Un' impostazione di notifica definisce le notifiche da creare quando si verifica un evento di ridimensionamento automatico in base ai criteri di uno dei profili di impostazioni di ridimensionamento automatico.A notification setting defines what notifications should occur when an autoscale event occurs based on satisfying the criteria of one of the autoscale setting’s profiles. Possono essere inviate notifiche a uno o più indirizzi di posta elettronica oppure possono essere effettuate chiamate a uno o più webhook.Autoscale can notify one or more email addresses or make calls to one or more webhooks.

Struttura delle impostazioni, dei profili e delle regole di ridimensionamento automatico in Azure

L'elenco completo dei campi e delle descrizioni configurabili è disponibile nella documentazione sull' API REST per il ridimensionamento automatico.The full list of configurable fields and descriptions is available in the Autoscale REST API.

Per esempi di codice, vedereFor code examples, see

Ridimensionamento orizzontale e verticaleHorizontal vs vertical scaling

Il ridimensionamento automatico, noto come "orizzontale", aumenta o riduce solo il numero di istanze delle macchine virtuali.Autoscale only scales horizontally, which is an increase ("out") or decrease ("in") in the number of VM instances. Questo tipo di ridimensionamento è più flessibile in una situazione cloud, perché consente di eseguire potenzialmente migliaia di macchine virtuali per gestire il carico.Horizontal is more flexible in a cloud situation as it allows you to run potentially thousands of VMs to handle load.

La scalabilità verticale è invece diversa,In contrast, vertical scaling is different. perché mantiene lo stesso numero di macchine virtuali, ma le rende più o meno potenti.It keeps the same number of VMs, but makes the VMs more ("up") or less ("down") powerful. La potenza è misurata in memoria, velocità della CPU, spazio su disco e così via. Il ridimensionamento verticale presenta più limitazioni.Power is measured in memory, CPU speed, disk space, etc. Vertical scaling has more limitations. Tale approccio dipende dalla disponibilità di hardware di dimensioni maggiori, che può raggiungere rapidamente il limite massimo e variare in base all'area.It's dependent on the availability of larger hardware, which quickly hits an upper limit and can vary by region. La scalabilità verticale richiede in genere l'arresto e il riavvio di una macchina virtuale.Vertical scaling also usually requires a VM to stop and restart.

Per altre informazioni, vedere Aumento delle prestazioni delle macchine virtuali di Azure tramite Automazione di Azure.For more information, see Vertically scale Azure virtual machine with Azure Automation.

Metodi di accessoMethods of access

È possibile configurare il ridimensionamento automatico tramite:You can set up autoscale via

Servizi supportati per il ridimensionamento automaticoSupported services for autoscale

ServiceService Schema e documentiSchema & Docs
App WebWeb Apps Ridimensionamento di app WebScaling Web Apps
Servizi cloudCloud Services Ridimensionamento automatico di un servizio cloudAutoscale a Cloud Service
Macchine virtuali: classicoVirtual Machines: Classic Scaling Classic Virtual Machine Availability Sets (Ridimensionamento di set di disponibilità di macchine virtuale classiche)Scaling Classic Virtual Machine Availability Sets
Macchine virtuali: set di scalabilità WindowsVirtual Machines: Windows Scale Sets Ridimensionamento dei set di scalabilità di macchine virtuali in WindowsScaling virtual machine scale sets in Windows
Macchine virtuali: set di scalabilità LinuxVirtual Machines: Linux Scale Sets Ridimensionamento dei set di scalabilità di macchine virtuali in LinuxScaling virtual machine scale sets in Linux
Macchine virtuali: esempio WindowsVirtual Machines: Windows Example Configurazione avanzata del ridimensionamento automatico con modelli di Resource Manager per set di scalabilità di macchine virtualiAdvanced Autoscale configuration using Resource Manager templates for VM Scale Sets

Passaggi successiviNext steps

Per altre informazioni sul ridimensionamento automatico, usare le procedure dettagliate per il ridimensionamento automatico elencate in precedenza o vedere le risorse seguenti:To learn more about autoscale, use the Autoscale Walkthroughs listed previously or refer to the following resources: