Visão geral do dimensionamento automático com os Conjuntos de Dimensionamento de Máquinas Virtuais do Azure

Um Conjunto de Dimensionamento de Máquinas Virtuais do Azure pode aumentar ou diminuir o número de instâncias de VM que executam o aplicativo. A contagem de instâncias pode ser atualizada de várias maneiras:

  • Aumentando ou diminuindo manualmente a capacidade do conjunto de dimensionamento
  • Com base em um agendamento definido
  • De acordo com regras baseadas em limites de métricas
  • Automaticamente, baseado em padrões de uso descobertos pela inteligência artificial preditiva

Esse comportamento automatizado e elástico reduz a sobrecarga de gerenciamento para monitorar e otimizar o desempenho do aplicativo. Este artigo fornece uma visão geral das métricas disponíveis e de quais ações o dimensionamento automático pode executar.

Observação

O uso do dimensionamento automático requer que o conjunto de dimensionamento seja definido com um perfil de dimensionamento de máquina virtual que define a configuração de instâncias a serem adicionadas. Saiba mais sobre o Perfil de Dimensionamento de Máquina Virtual.

Dimensionamento manual

Você pode aumentar ou diminuir manualmente o número de instâncias no conjunto de dimensionamento de máquinas virtuais atualizando a propriedade sku.capacity.

Portal do Azure

  1. Navegue até um Conjunto de dimensionamento de máquinas virtuais existente.
  2. Em Configurações, selecione a guia Escala.
  3. Escolha Dimensionamento Manual, se ainda não estiver selecionado.
  4. Atualize a Contagem de instâncias.
  5. Pressione o botão Salvar.

CLI do Azure

az vmss scale \
	--new-capacity 5 \
	--name <scale set name> \
	--resource-group <resource group name>

Azure PowerShell

Update-AzVmss `
	-SkuCapacity 5 `
	-ResourceGroupName <resource group name> ` 
	-VMScaleSetName <scale set name>  `

Benefícios de dimensionamento automático

Se a demanda do aplicativo aumentar, a carga em instâncias de VM no seu conjunto de dimensionamento também aumentará. Se esse aumento de carga for consistente, em vez de apenas uma demanda breve, configure as regras de dimensionamento automático para aumentar e diminuir o número de instâncias de VM no conjunto de dimensionamento.

Observação

Quando você usa reparos automáticos de instância no conjunto de dimensionamento, o número máximo de instâncias no conjunto de dimensionamento pode ser 1000. Saiba mais sobre Reparos Automáticos de Instância.

Quando essas instâncias de VM forem criadas e os aplicativos implantados, o conjunto de dimensionamento começará a distribuir o tráfego para eles por meio do balanceador de carga. Você controla quais métricas são monitoradas, como CPU ou memória, por quanto tempo a carga do aplicativo deve atender a determinado limite e quantas instâncias de VM devem ser adicionadas ao conjunto de dimensionamento.

À noite ou durante o fim de semana, a demanda do seu aplicativo pode diminuir. Se essa diminuição de carga for consistente durante determinado período, configure as regras de dimensionamento automático para reduzir o número de instâncias de VM no conjunto de dimensionamento. Esta ação de redução diminui o custo para executar seu conjunto de dimensionamento, visto que apenas o número de instâncias necessárias para atender à demanda atual é executado.

Usar métricas baseadas em host

Você pode criar regras de dimensionamento automático que incorporam métricas de host disponíveis nas suas instâncias de VM. As métricas de host dão visibilidade ao desempenho das instâncias de VM em um conjunto de dimensionamento sem a necessidade de instalar ou configurar outros agentes e coletas de dados. As regras de dimensionamento automático que usam essas métricas podem escalar horizontalmente o número de instâncias de VM em resposta ao uso da CPU, à demanda por memória ou ao acesso ao disco.

As regras de dimensionamento automático que usam métricas baseadas em host podem ser tratadas com uma das ferramentas a seguir:

Para criar regras de dimensionamento automático que usam métricas de desempenho mais detalhadas, você pode instalar e configurar a extensão de diagnóstico do Azure em instâncias de VM ou configurar seu aplicativo usando o Application Insights.

As regras de dimensionamento automático que usam métricas baseadas em host, as métricas de VM no convidado com a extensão de diagnóstico do Azure e o Application Insights podem usar as configurações a seguir.

Fontes de métricas

As regras de dimensionamento automático podem usar métricas de uma das seguintes fontes:

Origem da métrica Caso de uso
Conjunto de dimensionamento atual Para métricas de host que não exigem a instalação ou configuração de agentes adicionais.
Conta de armazenamento A extensão de diagnóstico do Azure grava as métricas de desempenho no armazenamento do Azure, que, em seguida, é consumido para disparar regras de dimensionamento automático.
Fila do Barramento de Serviço O aplicativo ou outros componentes pode transmitir mensagens em uma fila do Barramento de Serviço do Azure para disparar regras.
Application Insights Um pacote de instrumentação instalado em seu aplicativo que transmite métricas diretamente do aplicativo.

Critérios de regra de dimensionamento automático

As métricas baseadas em host a seguir estão disponíveis para uso quando você cria regras de dimensionamento automático. Se você usar a extensão de diagnóstico do Azure ou o Application Insights, poderá definir quais métricas devem ser monitoradas e usar regras de dimensionamento automático.

Nome da métrica
Porcentagem de CPU
Entrada na rede
Saída da rede
Bytes de leitura de disco
Bytes de gravação de disco
Operações de leitura de disco/Seg
Operações de gravação de disco/Seg
Créditos de CPU Restantes
Créditos de CPU Consumidos

Quando você cria regras de dimensionamento automático para monitorar determinada métrica, as regras examinam uma das seguintes ações de agregação de métricas:

Tipo de agregação
Média
Mínimo
Máximo
Total
Último
Contagem

As regras de dimensionamento automático são acionadas quando as métricas são comparadas com o limite definido com um dos operadores abaixo:

Operador
Maior que
Maior que ou igual a
Menor que
Menor que ou igual a
Igual a
É diferente de

Ações quando as regras são acionadas

Quando uma regra de dimensionamento automático é acionada, seu conjunto de dimensionamento pode reduzir horizontalmente e automaticamente de uma das seguintes maneiras:

Operação de dimensionamento Caso de uso
Aumentar a contagem em Um número fixo de instâncias de VM a serem criadas. Útil para conjuntos de dimensionamento com um número menor de VMs.
Aumentar porcentagem em Um aumento das instâncias VM baseado em porcentagens. Bom para conjuntos de dimensionamento maiores em que um aumento fixo pode não melhorar o desempenho perceptivelmente.
Aumentar a contagem para Crie quantas instâncias de VM forem necessárias para alcançar a quantidade máxima desejada.
Diminuir contagem por Um número fixo de instâncias de VM a serem removidas. Útil para conjuntos de dimensionamento com um número menor de VMs.
Reduzir porcentagem em Uma redução de instâncias de VM baseada em porcentagens. Bom para conjuntos de dimensionamento maiores em que uma diminuição fixa pode não reduzir o consumo e os custos de recurso perceptivelmente.
Reduzir contagem para Remova quantas instâncias de VM forem necessárias para alcançar a quantidade mínima desejada.

Métricas de VM no convidado com a extensão de diagnóstico do Azure

A extensão de diagnóstico do Azure é um agente executado dentro de uma instância de VM. O agente monitora e salva as métricas de desempenho no armazenamento do Azure. Essas métricas de desempenho contêm informações mais detalhadas sobre o status da VM, como AverageReadTime para discos ou PercentIdleTime para CPU. Você pode criar regras de dimensionamento automático com base em uma noção mais detalhada sobre o desempenho de VM, não apenas o percentual de consumo de memória ou o uso de CPU.

Para usar a extensão de diagnóstico do Azure, você deve criar contas de armazenamento do Azure para suas instâncias de VM, instalar o agente de diagnóstico do Azure e configurar as VMs para transmitir contadores de desempenho específicos para a conta de armazenamento.

Para saber mais, veja os artigos sobre como habilitar a extensão de diagnóstico do Azure em uma VM do Linux ou VM do Windows.

Métricas de nível de aplicativo com o Application Insights

Para visualizar melhor o desempenho de seus aplicativos, você pode usar o Application Insights. Instale um pacote de instrumentação pequeno em seu aplicativo que monitora o aplicativo e envia a telemetria para o Azure. Você pode monitorar métricas como o tempo de resposta do seu aplicativo, o desempenho de carregamento de página e a sessão de conta. Essas métricas de aplicativo podem ser usadas para criar regras de dimensionamento automático em um nível granular e incorporado à medida que você dispara regras com base em informações acionáveis que podem afetar a experiência do cliente.

Para saber mais sobre o App Insights, confira O que é o Application Insights.

Dimensionamento automático agendado

Também é possível criar regras de dimensionamento automático baseadas em agendamentos. Essas regras baseadas em agenda permitem dimensionar automaticamente o número de instâncias de máquina virtual em horas fixas. Com as regras baseadas em desempenho, pode haver um impacto no desempenho do aplicativo antes do acionamento das regras de dimensionamento automático e antes que as novas instâncias VM sejam provisionadas. Se você puder prever tal demanda, as instâncias de VM adicionais serão provisionadas e estarão prontas para as demandas adicionais de uso do cliente e aplicativo.

Os exemplos a seguir são cenários que podem se beneficiar com o uso de regras de dimensionamento automático com base em agendamento:

  • Escale horizontamente de modo automático o número de instâncias de VM no início do dia de trabalho, quando a demanda do cliente aumenta. No final do dia de trabalho, dimensione automaticamente o número de instâncias de VM para minimizar os custos de recursos durante a noite, quando o uso do aplicativo é baixo.
  • Se um departamento usa um aplicativo com frequência em determinadas épocas do mês ou ciclo fiscal, dimensione automaticamente o número de instâncias de VM para acomodar essas exigências adicionais.
  • Quando há um evento de marketing, uma promoção ou vendas em datas comemorativas, é possível dimensionar automaticamente o número de instâncias de VM para antecipar essa demanda.

Limitações

  • Você pode ter até 20 regras de Dimensionamento Automático para determinado conjunto de dimensionamento.

Próximas etapas

Você pode criar regras de dimensionamento automático que usam métricas baseadas em host podem ser tratadas com uma das ferramentas abaixo:

Para obter informações sobre como gerenciar suas instâncias de VM, confira Gerenciar Conjuntos de Dimensionamento de Máquinas Virtuais com o Azure PowerShell.

Para saber como gerar alertas quando suas regras de dimensionamento automático forem disparadas, consulte Usar ações de dimensionamento automático para enviar notificações de alerta por email e webhook no Azure Monitor. Também é possível Usar logs de auditoria para enviar notificações de alerta por email e webhook no Azure Monitor.