Descrição geral do dimensionamento automático em máquinas virtuais do Microsoft Azure, serviços Cloud e aplicações WebOverview of autoscale in Microsoft Azure Virtual Machines, Cloud Services, and Web Apps

Este artigo descreve o dimensionamento automático do Microsoft Azure é, seus benefícios e como começar a usá-lo.This article describes what Microsoft Azure autoscale is, its benefits, and how to get started using it.

Dimensionamento automático de Monitor do Azure aplicam-se apenas ao conjuntos de dimensionamento de máquinas virtuais, serviços Cloud, serviço de aplicações - aplicações Web, e deserviçosdegestãodeAPI.Azure Monitor autoscale applies only to Virtual Machine Scale Sets, Cloud Services, App Service - Web Apps, and API Management services.

Nota

O Azure tem dois métodos de dimensionamento automático.Azure has two autoscale methods. Uma versão mais antiga do dimensionamento automático aplica-se às máquinas virtuais (conjuntos de disponibilidade).An older version of autoscale applies to Virtual Machines (availability sets). Esta funcionalidade tem suporte limitado e recomendamos que migre para conjuntos de dimensionamento de máquinas virtuais para o suporte de dimensionamento automático mais rápida e confiável.This feature has limited support and we recommend migrating to virtual machine scale sets for faster and more reliable autoscale support. Este artigo inclui uma ligação sobre como utilizar a tecnologia mais antiga.A link on how to use the older technology is included in this article.

O que é o dimensionamento automático?What is autoscale?

Dimensionamento automático permite que tenha a quantidade certa de recursos em execução para processar a carga na sua aplicação.Autoscale allows you to have the right amount of resources running to handle the load on your application. Ele permite que adicionar recursos para processar os aumentos de carga e também poupar dinheiro ao remover os recursos que estão parados inativo.It allows you to add resources to handle increases in load and also save money by removing resources that are sitting idle. Especifique um número mínimo e máximo de instâncias para executar e adicionar ou remover VMs automaticamente com base num conjunto de regras.You specify a minimum and maximum number of instances to run and add or remove VMs automatically based on a set of rules. Ter um mínimo de torna-se de que seu aplicativo está sempre em execução mesmo sob nenhuma carga.Having a minimum makes sure your application is always running even under no load. Ter um máximo limita o seu total possível de custo por hora.Having a maximum limits your total possible hourly cost. Dimensionar automaticamente entre esses dois extremos usando regras criadas.You automatically scale between these two extremes using rules you create.

Dimensionamento automático explicado.

Quando forem cumpridas condições de regra, uma ou mais ações de dimensionamento automático são acionadas.When rule conditions are met, one or more autoscale actions are triggered. Pode adicionar e remover VMs ou executar outras ações.You can add and remove VMs, or perform other actions. O diagrama conceptual seguinte mostra esse processo.The following conceptual diagram shows this process.

Diagrama de fluxo de dimensionamento automático

A explicação seguinte aplica-se às partes do diagrama anterior.The following explanation applies to the pieces of the previous diagram.

Métricas de RecursosResource Metrics

Recursos emitem métricas, estas métricas são processadas mais tarde.Resources emit metrics, these metrics are later processed by rules. As métricas são fornecidos através de métodos diferentes.Metrics come via different methods. Conjuntos de dimensionamento de máquina virtual utilizam dados de telemetria dos agentes de diagnóstico do Azure, ao passo que vem de telemetria para aplicações Web e serviços Cloud diretamente a partir de infraestrutura do 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. Algumas estatísticas usadas incluem a utilização da CPU, utilização da memória, contagens de thread, comprimento da fila e utilização do disco.Some commonly used statistics include CPU Usage, memory usage, thread counts, queue length, and disk usage. Para obter uma lista dos dados de telemetria que pode utilizar, consulte métricas comuns do dimensionamento automático.For a list of what telemetry data you can use, see Autoscale Common Metrics.

Métricas PersonalizadasCustom Metrics

Também pode aproveitar suas próprias métricas personalizadas que podem ser emitindo a suas aplicações.You can also leverage your own custom metrics that your application(s) may be emitting. Se tiver configurado as aplicações para enviar métricas para o Application Insights, pode aproveitar essas métricas para tomar decisões sobre o dimensionamento ou não.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.

HoraTime

Regras com base na agenda são baseadas em UTC.Schedule-based rules are based on UTC. Tem de definir seu fuso horário corretamente quando configurar as regras.You must set your time zone properly when setting up your rules.

RegrasRules

O diagrama mostra apenas uma regra de dimensionamento automático, mas pode ter muitos deles.The diagram shows only one autoscale rule, but you can have many of them. Pode criar regras complexas de sobreposição, conforme necessário para a sua situação.You can create complex overlapping rules as needed for your situation. Incluem tipos de regraRule types include

  • Com base na métrica -por exemplo, execute esta ação quando a utilização de CPU é superior a 50%.Metric-based - For example, do this action when CPU usage is above 50%.
  • Com base no tempo – por exemplo, acionar um webhook am cada 8 no Sábado num determinado fuso de horário.Time-based - For example, trigger a webhook every 8am on Saturday in a given time zone.

Regras com base na métrica medem a carga da aplicação e adicionar ou remover VMs com base nessa carga.Metric-based rules measure application load and add or remove VMs based on that load. Regras com base na agenda permitem-lhe dimensionar quando ver padrões de tempo na sua carga e dimensionamento antes de um aumento de carga possível ou diminuição ocorre.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.

Ações e automatizaçãoActions and automation

Regras podem acionar um ou mais tipos de ações.Rules can trigger one or more types of actions.

  • Dimensionamento -dimensionamento de VMs dentro ou para foraScale - Scale VMs in or out
  • E-mail -enviar e-mail para os administradores de subscrições, coadministradores e/ou endereço de e-mail adicionais que especificarEmail - Send email to subscription admins, co-admins, and/or additional email address you specify
  • Automatizar através de webhooks -chamar webhooks, que pode acionar várias ações complexas dentro ou fora do Azure.Automate via webhooks - Call webhooks, which can trigger multiple complex actions inside or outside Azure. Dentro do Azure, pode iniciar um runbook da automatização do Azure, uma função do Azure ou uma aplicação lógica do Azure.Inside Azure, you can start an Azure Automation runbook, Azure Function, or Azure Logic App. Exemplo de terceiros URL fora do Azure incluem serviços como o Slack e Twilio.Example third-party URL outside Azure include services like Slack and Twilio.

Definições do Dimensionamento AutomáticoAutoscale Settings

Dimensionamento automático utilize a seguinte terminologia e estrutura.Autoscale use the following terminology and structure.

  • Uma definição de dimensionamento automático são lidos pelo mecanismo de dimensionamento automático para determinar se deve aumentar ou reduzir verticalmente.An autoscale setting is read by the autoscale engine to determine whether to scale up or down. Ele contém um ou mais perfis, informações sobre o recurso de destino e as definições de notificação.It contains one or more profiles, information about the target resource, and notification settings.

    • Uma perfil de dimensionamento automático é uma combinação de r:An autoscale profile is a combination of a:

      • definição de capacidade, que indica que o mínimo, máximo e valores predefinidos para o número de instâncias.capacity setting, which indicates the minimum, maximum, and default values for number of instances.

      • conjunto de regras, cada um deles inclui um acionador (tempo ou métrica) e uma ação de dimensionamento (para cima ou para baixo).set of rules, each of which includes a trigger (time or metric) and a scale action (up or down).

      • periodicidade, que indica quando o dimensionamento automático deve colocar este perfil em vigor.recurrence, which indicates when autoscale should put this profile into effect.

        Pode ter vários perfis permitem-lhe lidar com diferentes requisitos sobrepostos.You can have multiple profiles, which allow you to take care of different overlapping requirements. Pode ter perfis de dimensionamento automático diferentes para diferentes horas do dia ou dias da semana, por exemplo.You can have different autoscale profiles for different times of day or days of the week, for example.

    • R definição de notificação define que notificações devem ocorrer quando um evento de dimensionamento automático ocorre com base no que satisfaça os critérios de um dos perfis de definição de dimensionamento automático.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. Dimensionamento automático pode notificar um ou mais endereços de e-mail ou fazer chamadas para um ou mais webhooks.Autoscale can notify one or more email addresses or make calls to one or more webhooks.

Definição de dimensionamento automático do Azure, perfil e estrutura de regra

A lista completa de campos configuráveis e descrições está disponível na API do REST de dimensionamento automático.The full list of configurable fields and descriptions is available in the Autoscale REST API.

Para obter exemplos de código, consulteFor code examples, see

Dimensionamento vertical do vs horizontaisHorizontal vs vertical scaling

Dimensionamento automático só pode ser dimensionada horizontalmente, que é um aumento ("de saída") ou diminuição ("") no número de instâncias de VM.Autoscale only scales horizontally, which is an increase ("out") or decrease ("in") in the number of VM instances. Horizontal é mais flexível numa situação de nuvem, pois permite a execução de potencialmente milhares de VMs para processar carga.Horizontal is more flexible in a cloud situation as it allows you to run potentially thousands of VMs to handle load.

Por outro lado, dimensionamento vertical é diferente.In contrast, vertical scaling is different. Ele mantém o mesmo número de VMs, mas torna as VMs mais ("up") ou menos ("down") poderoso.It keeps the same number of VMs, but makes the VMs more ("up") or less ("down") powerful. Power é medido em memória, velocidade da CPU, espaço em disco, etc. Dimensionamento vertical tem limitações mais.Power is measured in memory, CPU speed, disk space, etc. Vertical scaling has more limitations. É dependente da disponibilidade de hardware de maior, que rapidamente atinge um limite superior e pode variar consoante a região.It's dependent on the availability of larger hardware, which quickly hits an upper limit and can vary by region. Normalmente, também dimensionamento vertical requer uma VM parar e reiniciar.Vertical scaling also usually requires a VM to stop and restart.

Para obter mais informações, consulte aumentar verticalmente a máquina virtual do Azure com a automatização do Azure.For more information, see Vertically scale Azure virtual machine with Azure Automation.

Métodos de acessoMethods of access

Pode configurar o dimensionamento automático através deYou can set up autoscale via

Serviços suportados do dimensionamento automáticoSupported services for autoscale

ServiçoService Esquema e documentosSchema & Docs
Aplicações WebWeb Apps Dimensionar aplicações WebScaling Web Apps
Serviços CloudCloud Services Dimensionamento automático um serviço em nuvemAutoscale a Cloud Service
Máquinas virtuais: ClássicaVirtual Machines: Classic Dimensionar conjuntos de disponibilidade de Máquina Virtual clássicaScaling Classic Virtual Machine Availability Sets
Máquinas virtuais: Conjuntos de dimensionamento do WindowsVirtual Machines: Windows Scale Sets Conjuntos de dimensionamento de dimensionamento de máquinas virtuais no WindowsScaling virtual machine scale sets in Windows
Máquinas virtuais: Conjuntos de dimensionamento do LinuxVirtual Machines: Linux Scale Sets Conjuntos de dimensionamento de dimensionamento de máquinas virtuais no LinuxScaling virtual machine scale sets in Linux
Máquinas virtuais: Exemplo do WindowsVirtual Machines: Windows Example Configuração avançada do dimensionamento automático com modelos do Resource Manager para conjuntos de dimensionamento de VMAdvanced Autoscale configuration using Resource Manager templates for VM Scale Sets
Serviço de gestão de APIAPI Management service Crie automaticamente uma instância de dimensionamento da Gestão de API do AzureAutomatically scale an Azure API Management instance

Passos SeguintesNext steps

Para saber mais sobre dimensionamento automático, utilize as instruções do dimensionamento automático listadas anteriormente, ou consulte os seguintes recursos:To learn more about autoscale, use the Autoscale Walkthroughs listed previously or refer to the following resources: