Visão geral do dimensionamento automático no Azure

Este artigo descreve o recurso de dimensionamento automático no Azure Monitor e seus benefícios.

O dimensionamento automático dá suporte a muitos tipos de recursos. Para obter mais informações sobre recursos com suporte, consulte Recursos com suporte no dimensionamento automático.

Observação

Os conjuntos de disponibilidade são um recurso de dimensionamento mais antigo para máquinas virtuais com suporte limitado. Recomendamos migrar para os Conjuntos de Dimensionamento de Máquinas Virtuais do Microsoft Azure para obter um suporte mais rápido e confiável do dimensionamento automático.

O que é dimensionamento automático?

O dimensionamento automático é um serviço que permite adicionar e remover recursos automaticamente de acordo com a carga em seu aplicativo.

Quando o aplicativo apresenta maior carga, o dimensionamento automático adiciona recursos para identificar o aumento da carga. Quando a carga é baixa, o dimensionamento automático reduz o número de recursos, reduzindo os custos. Você pode escalar o aplicativo com base em métricas como uso de CPU, comprimento da fila e memória disponível. Você também pode escalar com base em um agendamento. Métricas e agendamentos são configurados em regras. As regras incluem um nível mínimo de recursos necessários para executar seu aplicativo e um nível máximo de recursos que não serão excedidos.

Por exemplo, escale horizontalmente o aplicativo adicionando VMs quando o uso médio de CPU por VM estiver acima de 70%. Reduza-o verticalmente removendo as VMs quando o uso da CPU cair para 40%.

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

Quando as condições nas regras são atendidas, uma ou mais ações de dimensionamento automático são disparadas, adicionando ou removendo VMs. Além disso, você pode executar outras ações, como enviar notificações por email ou webhooks para disparar processos em outros sistemas.

Colocação em escala horizontal vs. vertical

O dimensionamento automático reduz e expande horizontalmente. Colocar em escala horizontalmente é um aumento ou uma diminuição do número de instâncias do recurso. Por exemplo, para um conjunto de dimensionamento de máquinas virtuais, dimensionar significa adicionar mais máquinas virtuais. A redução remove máquinas virtuais. A colocação em escala horizontal é flexível em uma situação de nuvem, pois permite que você execute um grande número de VMs para lidar com a carga.

O dimensionamento automático não dá suporte à colocação em escala vertical. Por outro lado, a colocação em escala vertical mantém o mesmo número de instâncias de recursos constante, mas dá a esses recursos mais capacidade em termos de memória, velocidade de CPU, espaço em disco e rede. O dimensionamento vertical é limitado pela disponibilidade de hardware maior, que eventualmente atinge um limite superior. A disponibilidade do tamanho do hardware varia no Azure por região. A colocação em escala vertical também pode exigir uma reinicialização da máquina virtual durante o processo de escala.

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

Quando as condições nas regras são atendidas, uma ou mais ações de dimensionamento automático são disparadas, adicionando ou removendo VMs. Além disso, você pode executar outras ações, como enviar notificações por email ou webhooks para disparar processos em outros sistemas.

Dimensionamento automático preditivo

O dimensionamento automático preditivo usa o machine learning para ajudar a gerenciar e escalar conjuntos de dimensionamento de máquinas virtuais com padrões de carga de trabalho cíclicas. Ele prevê a carga geral da CPU para o conjunto de dimensionamento de máquinas virtuais, com base nos padrões de uso histórico da CPU. O conjunto de dimensionamento pode ser escalado horizontalmente para atender à demanda prevista.

Configuração do dimensionamento automático

Você pode configurar o dimensionamento automático via:

Arquitetura

O seguinte diagrama mostra a arquitetura de dimensionamento automático.

Diagram that shows autoscale flow.

Métricas do recurso

Os recursos geram métricas usadas em regras de dimensionamento automático para disparar eventos de escala. Os conjuntos de dimensionamento de máquinas virtuais usam dados de telemetria de agentes de diagnóstico do Azure para gerar métricas. A telemetria para o recurso de Aplicativos Web de Serviço de Aplicativo do Azure e Serviços de Nuvem do Azure vem diretamente da infraestrutura do Azure. Algumas métricas usadas normalmente incluem o uso da CPU, utilização de memória, contagens de thread, comprimento da fila e uso do disco. Para obter uma lista de métricas disponíveis, consulte Métricas comuns de dimensionamento automático.

Métricas personalizadas

Use suas próprias métricas personalizadas geradas pelo aplicativo. Configure seu aplicativo para enviar métricas ao Application Insights para que você possa usar essas métricas para decidir quando escalar.

Hora

Configure regras baseadas em agendamento para disparar eventos de escala. Use regras baseadas em agendamento quando vir padrões de tempo em sua carga e quiser escalar antes que ocorra uma alteração antecipada na carga.

Regras

As regras definem as condições necessárias para disparar um evento de escala, a direção do dimensionamento e a quantidade pela qual dimensionar. Combine várias regras usando métricas diferentes, por exemplo, uso da CPU e comprimento da fila. Defina até 10 regras por perfil.

As regras podem ser:

  • Baseado em métrica: gatilho com base em um valor de métrica, por exemplo, quando o uso da CPU estiver acima de 50%.
  • Baseado no horário: gatilho com base em um agendamento, por exemplo, todos os sábados às 8h.

O dimensionamento automático será dimensionado se qualquer uma das regras for atendida. O dimensionamento automático expande somente se todas as regras forem atendidas. Em termos de operadores lógicos, o operador OR é usado ao escalar horizontalmente com várias regras. O operador AND é usado ao reduzir horizontalmente com várias regras.

Ações e automação

As regras podem disparar uma ou mais ações. Ações incluem:

  • Escala: escalar ou reduzir horizontalmente os recursos.
  • Email: envia um email para os administradores e coadministradores da assinatura, e/ou qualquer outro endereço de email.
  • Webhooks: chama webhooks para disparar várias ações complexas dentro ou fora do Azure. No Azure, você pode:

Configurações de autoescala

As configurações de dimensionamento automático contêm a configuração de dimensionamento automático. A configuração incluindo condições de escala que definem regras, limites e agendamentos e notificações. Defina uma ou mais condições de escala nas configurações e uma configuração de notificação.

O dimensionamento automático usa a seguinte terminologia e estrutura.

Interface do usuário JSON/CLI Descrição
Condições de escala perfis Uma coleção de regras, limites de instância e agendamentos, com base em uma métrica ou horário. Você pode definir uma ou mais condições ou perfis de escala. Defina até 20 perfis por configuração de dimensionamento automático.
Regras regras Um conjunto de condições com base no horário ou nas métricas que atuam como gatilho de uma ação de escala. Você pode definir uma ou mais regras para ações de redução horizontal e ampliação horizontal. Defina um total de até 10 regras por perfil.
Limites da instância ALOCADA Cada condição ou perfil de escala define o número padrão, máximo e mínimo de instâncias que podem ser executadas sob esse perfil.
Agenda recurrence Indica quando o dimensionamento automático deve colocar essa condição de escala ou perfil em vigor. Você pode ter várias condições de escala, que permitem identificar requisitos diferentes e sobrepostos. Por exemplo, você pode ter diferentes condições de dimensionamento para diferentes horários do dia ou dias da semana.
Notificar notificação Define as notificações a serem enviadas quando ocorre um evento de dimensionamento automático. O dimensionamento automático pode notificar um ou mais endereços de email ou fazer uma chamada para um ou mais webhooks. Você pode configurar vários webhooks no JSON, mas apenas um na interface do usuário.

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

A lista completa de campos configuráveis e descrições está disponível na API REST do Dimensionamento Automático.

Para obter exemplos de código, consulte:

Serviços com suporte para o dimensionamento automático

O dimensionamento automático dá suporte aos serviços a seguir.

Serviço Esquema e documentação
Conjuntos de dimensionamento de Máquinas Virtuais do Azure Visão geral de dimensionamento automático com conjuntos de dimensionamento de máquinas virtuais do Azure
Recurso de Aplicativos Web do Serviço de Aplicativo do Azure Dimensionamento de Aplicativos Web
Serviço de Gerenciamento de API do Azure Dimensionar automaticamente uma instância do Gerenciamento de API do Azure
Clusters do Azure Data Explorer Gerenciar o dimensionamento de clusters do Azure Data Explorer para acomodar as mudanças de demanda
Stream Analytics do Azure Unidades de streaming de dimensionamento automático (versão prévia)
Serviço do Azure SignalR (camada Premium) Dimensionar automaticamente unidades de um serviço do Azure SignalR
Workspace do Azure Machine Learning Dimensionamento automático de ponto de extremidade online
Azure Spring Apps Configurar o dimensionamento automático para aplicativos
Serviços de Mídia do Azure Dimensionamento automático nos Serviços de Mídia
Barramento de Serviço do Azure Atualizar automaticamente as unidades do sistema de mensagens de um namespace do Barramento de Serviço do Azure
Aplicativos Lógicos do Azure - ISE (Ambiente de Serviço de Integração) Adicionar capacidade de ISE

Próximas etapas

Para saber mais sobre o dimensionamento automático, consulte os seguintes recursos: