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%.
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.
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:
- Portal do Azure
- PowerShell
- Interface de linha de comando (CLI) entre plataformas
- API REST do Azure Monitor
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.
Hora
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 incluem 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 o dimensionamento automático coloca 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. |
A lista completa de campos configuráveis e descrições está disponível na API REST do Autoscale.
Para exemplos de código, consulte:
- Tutorial: Dimensionar automaticamente um conjunto de dimensionamento de máquina virtual com a CLI do Azure
- Tutorial: Dimensionar automaticamente um conjunto de dimensionamento de máquina virtual com o PowerShell
Serviços suportados para dimensionamento automático
O dimensionamento automático suporta os seguintes serviços.
Próximos passos
Para saber mais sobre o dimensionamento automático, consulte os seguintes recursos:
- Métricas comuns do Azure Monitor de dimensionamento automático
- Use ações de dimensionamento automático para enviar notificações de alerta por e-mail e webhook
- Tutorial: Dimensionar automaticamente um conjunto de dimensionamento de máquina virtual com a CLI do Azure
- Tutorial: Dimensionar automaticamente um conjunto de dimensionamento de máquina virtual com o Azure PowerShell
- Referência de CLI de dimensionamento automático
- Definição de recursos do modelo do ARM
- Referência do PowerShell Az.Monitor
- Referência da API REST: Configurações de dimensionamento automático