Visão geral do dimensionamento automático com Conjuntos de Dimensionamento de Máquina Virtual do Azure

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

  • Aumentar ou diminuir manualmente a capacidade do conjunto de escalas
  • Com base num calendário definido
  • De acordo com regras baseadas em limiares métricos
  • Automaticamente com base em padrões de uso descobertos por inteligência artificial preditiva

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

Nota

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 das 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 escala da máquina virtual atualizando a sku.capacity propriedade.

Portal do Azure

  1. Navegue até um conjunto de dimensionamento de máquina virtual existente.
  2. Em Configurações, selecione a guia Dimensionamento .
  3. Escolha Escala manual, se ainda não estiver selecionada.
  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 do dimensionamento automático

Se a exigência da aplicação aumentar, a carga sobre as instâncias de VM no conjunto de dimensionamento também aumenta. Se esse aumento de carga for consistente, em vez de apenas uma breve demanda, você poderá configurar regras de dimensionamento automático para aumentar e diminuir o número de instâncias de VM no conjunto de escala.

Nota

Ao usar reparos automáticos de instância para seu conjunto de escala, o número máximo de instâncias no conjunto de escala pode ser 1000. Saiba mais sobre reparos automáticos de instância.

Quando estas instâncias de VM forem criadas e as aplicações forem implementadas, o conjunto de dimensionamento começa a distribuir o tráfego pelas mesmas através do balanceador de carga. Você controla quais métricas monitorar, como CPU ou memória, por quanto tempo a carga do aplicativo deve atender a um determinado limite e quantas instâncias de VM adicionar ao conjunto de escala.

À noite ou ao fim de semana, a exigência da aplicação pode diminuir. Se esta diminuição de carga for consistente durante um certo período de tempo, pode configurar regras de dimensionamento automático para diminuir o número de instâncias de VM no conjunto de dimensionamento. Esta ação de dimensionamento para reduzir horizontalmente reduz o custo de execução do conjunto de dimensionamento, uma vez que apenas executa o número de instâncias necessário para satisfazer a exigência atual.

Usar métricas baseadas em host

Você pode criar regras de dimensionamento automático que incorporam métricas de host disponíveis em suas instâncias de VM. As métricas de host oferecem visibilidade sobre o desempenho das instâncias de VM em um conjunto de escalas sem a necessidade de instalar ou configurar agentes e coleções de dados adicionais. As regras de dimensionamento automático que usam essas métricas podem ser dimensionadas ou aumentar o número de instâncias de VM em resposta ao uso da CPU, à demanda de memória ou ao acesso ao disco.

Podem ser criadas regras de dimensionamento automático que utilizem métricas baseadas no anfitrião com uma das seguintes ferramentas:

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 App Insights.

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

Fontes métricas

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

Origem métrica Caso de utilização
Conjunto de escalas atual Para métricas baseadas em host que não exigem agentes adicionais a serem instalados ou configurados.
Conta de armazenamento A extensão de diagnóstico do Azure grava métricas de desempenho no armazenamento do Azure que são consumidas para acionar regras de dimensionamento automático.
Fila do Service Bus Seu aplicativo ou outros componentes podem transmitir mensagens em uma fila do Barramento de Serviço do Azure para acionar 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 seguintes métricas baseadas em host 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 App Insights, definirá quais métricas monitorar e usar com regras de dimensionamento automático.

Nome da métrica
Percentagem da 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/s
Operações de gravação em disco/s
Créditos de CPU restantes
Créditos de CPU consumidos

Quando você cria regras de dimensionamento automático para monitorar uma 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
Last
Contagem

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

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 ser dimensionado automaticamente de uma das seguintes maneiras:

Operação em escala Caso de utilização
Aumentar a contagem em Um número fixo de instâncias de VM para criar. Útil em conjuntos de escala com um número menor de VMs.
Aumentar a percentagem em Um aumento baseado em porcentagem de instâncias de VM. Bom para conjuntos de maior escala onde um aumento fixo pode não melhorar visivelmente o desempenho.
Aumente a contagem para Crie quantas instâncias de VM forem necessárias para atingir a quantidade máxima desejada.
Diminuir a contagem em Um número fixo de instâncias de VM a serem removidas. Útil em conjuntos de escala com um número menor de VMs.
Diminuir a percentagem em Uma diminuição baseada em porcentagem de instâncias de VM. Bom para conjuntos de maior escala onde uma diminuição fixa pode não reduzir visivelmente o consumo de recursos e os custos.
Diminuir a contagem para Remova quantas instâncias de VM forem necessárias para atingir uma quantidade mínima desejada.

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

A extensão de diagnóstico do Azure é um agente que é executado dentro de uma instância de VM. O agente monitora e salva 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 um conhecimento mais detalhado do desempenho da VM, não apenas na porcentagem de uso da CPU ou consumo de memória.

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 obter mais informações, veja os artigos para saber como ativar a extensão de diagnóstico do Azure numa VM do Linux ou numa VM do Windows.

Métricas no nível do aplicativo com o App Insights

Para obter mais visibilidade sobre o desempenho de seus aplicativos, você pode usar o Application Insights. Você instala um pequeno pacote de instrumentação em seu aplicativo que monitora o aplicativo e envia telemetria para o Azure. Você pode monitorar métricas como os tempos de resposta do seu aplicativo, o desempenho de carregamento de página e as contagens de sessão. 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ê aciona regras com base em informações acionáveis que podem afetar a experiência do cliente.

Para obter mais informações sobre o App Insights, veja O que é o Application Insights.

Dimensionamento automático programado

Você também pode criar regras de dimensionamento automático com base em agendas. Essas regras baseadas em programação permitem dimensionar automaticamente o número de instâncias de VM em horários fixos. Com regras baseadas em desempenho, pode haver um impacto no desempenho do aplicativo antes que as regras de dimensionamento automático sejam acionadas e as novas instâncias de VM sejam provisionadas. Se você puder antecipar essa demanda, as instâncias de VM adicionais serão provisionadas e estarão prontas para o uso adicional do cliente e a demanda do aplicativo.

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

  • Dimensione automaticamente o número de instâncias de VM no início do dia de trabalho, quando a demanda do cliente aumentar. 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 for baixo.
  • Se um departamento usar muito um aplicativo em determinadas partes do mês ou do ciclo fiscal, dimensione automaticamente o número de instâncias de VM para acomodar suas demandas adicionais.
  • Quando há um evento de marketing, promoção ou venda de férias, você pode dimensionar automaticamente o número de instâncias de VM antes da demanda prevista do cliente.

Limitações

  • Você pode ter até 20 regras de dimensionamento automático para um determinado conjunto de escalas.

Próximos passos

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

Para obter informações sobre como gerenciar suas instâncias de VM, consulte Manage Virtual Machine Scale Sets with Azure PowerShell.

Para saber como gerar alertas quando suas regras de dimensionamento automático são acionadas, consulte Usar ações de dimensionamento automático para enviar notificações de alerta de email e webhook no Azure Monitor. Você também pode Usar logs de auditoria para enviar notificações de alerta de email e webhook no Azure Monitor.