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 suporta muitos tipos de recursos. Para obter mais informações sobre recursos suportados, consulte Recursos suportados em dimensionamento automático.

Nota

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 Escala de Máquina Virtual do Azure para obter um suporte de dimensionamento automático mais rápido e confiável.

O que é autoscale?

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

Quando seu aplicativo enfrenta uma carga maior, 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, o que reduz os custos. Você pode dimensionar seu aplicativo com base em métricas como uso da CPU, comprimento da fila e memória disponível. Você também pode dimensionar com base em uma agenda. Métricas e cronogramas são definidos em regras. As regras incluem um nível mínimo de recursos que você precisa para executar seu aplicativo e um nível máximo de recursos que não serão excedidos.

Por exemplo, dimensione seu aplicativo adicionando VMs quando o uso médio da CPU por VM estiver acima de 70%. Reduza-o removendo 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 acionadas, adicionando ou removendo VMs. Você também pode executar outras ações, como enviar e-mails, notificações ou webhooks para acionar processos em outros sistemas.

Dimensionamento horizontal versus vertical

O dimensionamento automático é dimensionado para dentro e para fora ou horizontalmente. O dimensionamento horizontal é um aumento ou diminuição do número de instâncias de recursos. Por exemplo, para um conjunto de dimensionamento de máquina virtual, dimensionar significa adicionar mais máquinas virtuais. Dimensionar significa remover máquinas virtuais. O dimensionamento horizontal é flexível em uma situação de nuvem porque você pode usá-lo para executar um grande número de VMs para lidar com a carga.

O dimensionamento automático não suporta dimensionamento vertical. Por outro lado, o dimensionamento para cima e para baixo, ou o dimensionamento vertical, mantém constante o mesmo número de instâncias de recursos, mas dá-lhes 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 dimensionamento vertical também pode exigir uma reinicialização da VM durante o processo de dimensionamento.

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 acionadas, adicionando ou removendo VMs. Você também pode executar outras ações, como enviar e-mails, notificações ou webhooks para acionar processos em outros sistemas.

Dimensionamento automático preditivo

O dimensionamento automático preditivo usa aprendizado de máquina para ajudar a gerenciar e dimensionar conjuntos de dimensionamento de máquinas virtuais com padrões cíclicos de carga de trabalho. Ele prevê a carga geral da CPU no conjunto de dimensionamento da máquina virtual, com base nos padrões históricos de uso da CPU. O conjunto de escalas pode então ser dimensionado a tempo para atender à demanda prevista.

Configuração de dimensionamento automático

Pode configurar a escala automática através de:

Arquitetura

O diagrama a seguir mostra a arquitetura de escala automática.

Diagram that shows autoscale flow.

Métricas de recursos

Os recursos geram métricas que são usadas em regras de dimensionamento automático para acionar 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 Aplicativos Web do Serviço de Aplicativo do Azure e dos Serviços de Nuvem do Azure vem diretamente da infraestrutura do Azure. Algumas métricas comumente usadas incluem uso de CPU, uso de memória, contagem de threads, comprimento da fila e uso de disco. Para obter uma lista de métricas disponíveis, consulte Autoscale Common Metrics.

Métricas personalizadas

Use suas próprias métricas personalizadas que seu aplicativo gera. Configure seu aplicativo para enviar métricas para o Application Insights para que você possa usar essas métricas para decidir quando dimensionar.

Tempo

Configure regras baseadas em agenda para acionar eventos de escala. Use regras baseadas em programação quando vir padrões de tempo em sua carga e quiser dimensionar antes que ocorra uma alteração prevista na carga.

Regras

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

As regras podem ser:

  • Baseado em métrica: aciona com base em um valor métrico, por exemplo, quando o uso da CPU está acima de 50%.
  • Baseado no tempo: Gatilho com base em um horário, por exemplo, todos os sábados às 8 da manhã.

O dimensionamento automático é dimensionado se alguma das regras for atendida. A escala automática só é dimensionada se todas as regras forem cumpridas. Em termos de operadores lógicos, o operador OR é usado para dimensionamento com várias regras. O operador AND é usado para dimensionamento com várias regras.

Ações e automação

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

  • Dimensionar: dimensione recursos para dentro ou para fora.
  • E-mail: envie um e-mail para os administradores de assinatura, coadministradores e/ou qualquer outro endereço de e-mail.
  • Webhooks: chame webhooks para acionar várias ações complexas dentro ou fora do Azure. No Azure, você pode:
    • Inicie um runbook de Automação do Azure.
    • Chame uma função do Azure.
    • Acione um aplicativo lógico do Azure.

Definições do dimensionamento automático

As configurações de dimensionamento automático contêm a configuração de dimensionamento automático. A configuração inclui condições de escala que definem regras, limites, agendas 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.

IU JSON/CLI Description
Condições da escala perfis Uma coleção de regras, limites de instância e agendas com base em uma métrica ou tempo. Você pode definir uma ou mais condições de escala ou perfis. Defina até 20 perfis por configuração de escala automática.
Regras regras Um conjunto de condições com base em tempo ou métricas que dispara uma ação de escala. Você pode definir uma ou mais regras para ações de expansão e expansão. Defina até um total de 10 regras por perfil.
Limites de 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 recurrence Indica quando a escala automática deve colocar essa condição ou perfil de escala 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 escala para diferentes horas do dia ou dias da semana.
Notify notificação Define as notificações a serem enviadas quando ocorrer um evento de dimensionamento automático. O dimensionamento automático pode notificar um ou mais endereços de e-mail ou fazer uma chamada usando 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 Autoscale.

Para exemplos de código, consulte:

Serviços suportados para dimensionamento automático

O dimensionamento automático suporta os seguintes serviços.

Service Esquema e documentação
Conjuntos de Dimensionamento de Máquinas Virtuais do Azure Visão geral do dimensionamento automático com Conjuntos de Dimensionamento de Máquina Virtual do Azure
Funcionalidade Aplicações Web do Serviço de Aplicações do Azure Dimensionamento de aplicativos Web
Serviço de Gerenciamento de API do Azure Crie automaticamente uma instância de dimensionamento da Gestão de API do Azure
Clusters do Azure Data Explorer Gerenciar o dimensionamento de clusters do Azure Data Explorer para acomodar a demanda em constante mudança
Azure Stream Analytics Dimensionamento automático de unidades de streaming (visualização)
Serviço Azure SignalR (camada Premium) Dimensionar automaticamente unidades de um serviço do Azure SignalR
Área de trabalho do Azure Machine Learning Dimensionar automaticamente um ponto de extremidade online
Azure Spring Apps Configurar o dimensionamento automático para aplicativos
Serviços de Multimédia do Azure Dimensionamento automático em Serviços de Mídia
Azure Service Bus Atualizar automaticamente unidades de mensagens de um namespace do Barramento de Serviço do Azure
Azure Logic Apps - Ambiente de serviço de integração (ISE) Adicionar a capacidade do ISE

Próximos passos

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