Compartilhar via


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 lidar com 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%. Redimensione-o removendo VMs quando o uso da CPU cair para 40%.

Um diagrama que mostra a escala horizontal adicionando instâncias de máquina virtual.

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.

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. Reduzir a escala significa remover 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, o escalonamento vertical mantém constante o mesmo número de instâncias de recursos, mas dá a eles mais capacidade em termos de memória, velocidade da 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. O escalonamento vertical pode exigir uma reinicialização da máquina virtual durante o processo de escalonamento.

Um diagrama que exibe o dimensionamento adicionando CPU e memória a uma máquina virtual.

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:

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 a funcionalidade de Aplicativos Web do Serviço de Aplicativo do Azure e dos Serviços de Nuvem do Azure é obtida 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.

Horário

Configure regras baseadas em agendamento para disparar eventos de escala. Use regras baseadas em agendamento quando você perceber padrões de horário na demanda e quiser escalar antes que a alteração esperada na demanda ocorra.

Regras

As regras definem as condições necessárias para iniciar um evento de escala, a direção do dimensionamento e a quantidade a ser dimensionada. 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 para escalonamento interno 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

A configuração de dimensionamento automático inclui condições de escala que definem regras, limites, 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 expansão. Defina um total de até 10 regras por perfil.
Limites da instância capacidade 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 recorrência Indica quando o dimensionamento automático coloca essa condição de escala ou perfil em vigor. Você pode ter várias condições de escala, que permitem lidar com 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.

Diagrama que mostra a configuração de dimensionamento automático do Azure, o perfil e a estrutura de regras.

A lista completa de descrições dos campos configuráveis está disponível na API REST de Escalonamento 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
Análise de Fluxo 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
Espaço de Trabalho do Azure Machine Learning Dimensionamento automático de ponto de extremidade online
Aplicativos Spring do Azure 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

Próximas etapas

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