Configurar um conjunto de dimensionamento de máquina virtual

Concluído

Ao dimensionar, você adiciona instâncias ao seu Conjunto de Dimensionamento de Máquina Virtual. No cenário da empresa de transporte, o dimensionamento é uma boa maneira de lidar com a mudança no número de solicitações ao longo do tempo. O dimensionamento ajusta o número de máquinas virtuais que executam o aplicativo Web à medida que o número de usuários muda. Desta forma, o sistema mantém um tempo de resposta uniforme, independentemente da carga atual.

Nesta unidade, você aprenderá a dimensionar um Conjunto de Dimensionamento de Máquina Virtual. Pode dimensionar automaticamente ao definir explicitamente o número de instâncias da máquina virtual no conjunto de dimensionamento. Você pode configurar o dimensionamento automático definindo regras de escala que acionam a alocação e a desalocação de máquinas virtuais. Estas regras de dimensionamento determinam quando deve dimensionar o sistema ao monitorizar diversas métricas de desempenho.

Dimensionar manualmente conjuntos de dimensionamento de máquina virtual

Você dimensiona um Conjunto de Escala de Máquina Virtual manualmente aumentando ou diminuindo a contagem de instâncias. Pode realizar esta tarefa através de programação ou no portal do Azure.

O código a seguir usa a CLI do Azure para alterar o número de instâncias em um Conjunto de Dimensionamento de Máquina Virtual:

az vmss scale \
  --name webServerScaleSet \
  --resource-group MyResourceGroup \
  --new-capacity 6

Dimensionamento automático de conjuntos de dimensionamento de máquinas virtuais

Em algumas circunstâncias, o dimensionamento manual é útil. Contudo, em muitas situações, o dimensionamento automático é melhor. Este último permite que o sistema controle o número de instâncias num conjunto de dimensionamento.

O dimensionamento automático é baseado em:

  • Agendamento: use essa abordagem se souber que tem uma carga de trabalho aumentada em uma data ou período de tempo especificado.
  • Métricas: ajuste o dimensionamento monitorando as métricas de desempenho associadas ao conjunto de escalas. Quando estas métricas excedem o limiar especificado, o conjunto de dimensionamento pode iniciar automaticamente novas instâncias da máquina virtual. Quando as métricas indicam que os recursos extras não são mais necessários, o conjunto de escala pode interromper quaisquer instâncias em excesso.

Definir limites, regras e condições de dimensionamento automático

O dimensionamento automático é baseado num conjunto de limites, regras e condições de dimensionamento. Uma condição de dimensionamento combina a hora e um conjunto de regras de dimensionamento. Se a hora atual for abrangida pelo período definido na condição de dimensionamento, as regras de dimensionamento da condição serão avaliadas. Os resultados desta avaliação determinam se deve adicionar ou remover instâncias no conjunto de dimensionamento. A condição de dimensionamento também define os limites de dimensionamento para o número máximo e mínimo de instâncias.

No cenário de empresa de remessa, você pode adicionar regras de escala que monitoram o uso da CPU em todo o conjunto de escalas. Se a utilização da CPU exceder o limiar de 75%, a regra de dimensionamento pode aumentar o número de instâncias da máquina virtual. Uma segunda regra de escala também pode monitorar o uso da CPU, mas reduzir o número de instâncias de máquina virtual quando o uso cair abaixo de 50%. Devido à natureza global da aplicação, estas regras devem estar sempre ativadas e não apenas em horas específicas.

Um Conjunto de Dimensionamento de Máquina Virtual pode conter muitas condições de escala. Cada condição de dimensionamento correspondente é analisada. Um conjunto de escalas também pode conter uma condição de escala padrão a ser usada se nenhuma outra condição de escala corresponder às métricas de tempo e desempenho atuais. A condição de dimensionamento predefinida está sempre ativada. Ele não contém regras de escala, agindo efetivamente como uma condição de escala nula que não é dimensionada para dentro ou para fora. No entanto, você pode modificar a condição de escala padrão para definir uma contagem de instância padrão ou pode adicionar um par de regras de escala que se expandem e voltam a ser dimensionadas.

Utilizar o dimensionamento automático com base na agenda

O dimensionamento baseado em cronograma especifica uma hora de início e término e o número de instâncias a serem adicionadas ao conjunto de escalas. A seguinte captura de ecrã mostra um exemplo no portal do Azure. O número de instâncias é dimensionado para 20 entre as 6:00 e as 18:00, a cada segunda-feira e quarta-feira. Fora desses horários, se não existirem outras condições de dimensionamento, a condição de dimensionamento predefinida vai ser aplicada.

Neste caso, a regra predefinida vai dimensionar o sistema para duas instâncias. Nesta condição de dimensionamento predefinida, este é o valor Máximo.

Captura de ecrã a mostrar um exemplo de uma condição de dimensionamento com base na agenda.

Utilizar o dimensionamento automático baseado em métricas

A regra de dimensionamento com base em métricas especifica os recursos a monitorizar, como a utilização da CPU ou o tempo de resposta. Esta regra de dimensionamento adiciona ou remove instâncias do conjunto de dimensionamento de acordo com os valores destas métricas. Você pode especificar limites para o número de instâncias para evitar que um conjunto de escalas seja excessivamente dimensionado para dentro ou para fora.

No cenário de exemplo, quer aumentar o número de instâncias ao adicionar apenas uma, quando a utilização média da CPU exceder os 75%. Além disso, quer limitar a operação de aumento horizontal a 50 instâncias. Este limite pode ajudar a evitar o dimensionamento dispendioso com tempo de execução excessivo causado por um ataque. Também quer reduzir horizontalmente quando a utilização média da CPU ficar abaixo de 50%.

Essas métricas são comumente usadas para monitorar um Conjunto de Dimensionamento de Máquina Virtual:

  • Porcentagem de CPU: essa métrica indica o uso da CPU em todas as instâncias. Um valor elevado mostra que as instâncias estão a tornar-se vinculadas à CPU, o que pode provocar atrasos no processamento de pedidos dos clientes.
  • Fluxos de entrada e saída: essas métricas mostram a velocidade com que o tráfego de rede está entrando e saindo de máquinas virtuais no conjunto de escala.
  • Operações de leitura de discos/s e operações de gravação em disco/seg: essas métricas mostram o volume de E/S de disco em todo o conjunto de escalas.
  • Profundidade da fila do disco de dados: essa métrica mostra quantas solicitações de E/S apenas para os discos de dados nas máquinas virtuais estão aguardando para serem atendidas.

Uma regra de dimensionamento agrega os valores obtidos de uma métrica para todas as instâncias. Os valores são agregados ao longo de um período denominado intervalo de agregação. Cada métrica possui um intervalo de agregação intrínseco, mas este período é normalmente de um minuto. O valor agregado é conhecido como a agregação de tempo. As opções de agregação de tempo são: média, mínimo, máximo, total, último e contagem.

Um intervalo de um minuto é demasiado curto para determinar se uma alteração na métrica tem a duração suficiente para justificar a utilização do dimensionamento automático. Uma regra de dimensionamento segue um segundo passo que gera uma agregação adicional do valor da agregação de tempo durante um período maior e especificado pelo utilizador. Este período é chamado de duração. A duração mínima é cinco minutos. Por exemplo, se a duração for definida para 10 minutos, a regra de dimensionamento agrega os 10 valores calculados para o intervalo de agregação.

O cálculo de agregação da duração pode ser diferente do cálculo de agregação do intervalo de agregação. Por exemplo, imaginemos que a agregação de tempo é média e que a estatística obtida é a percentagem da CPU no intervalo de agregação de um minuto. Para cada minuto, a porcentagem média de uso da CPU em todas as instâncias durante esse minuto é calculada. Se a estatística do intervalo de agregação estiver definida para máximo e a duração da regra estiver definida para 10 minutos, o máximo dos 10 valores médios da percentagem de utilização da CPU determina se o limiar da regra foi ultrapassado.

Quando uma regra de escala deteta que uma métrica ultrapassa um limite, ela pode executar uma ação de escala. Uma ação de dimensionamento pode ser de aumento horizontal ou de redução horizontal. Uma ação de aumento horizontal aumenta o número de instâncias. Uma ação de redução horizontal diminui o número de instâncias.

Uma ação de dimensionamento utiliza um operador (como menos que, maior que ou igual a) para determinar como deve reagir ao limiar. Normalmente, as ações de aumento horizontal utilizam o operador maior que para comparar o valor da métrica com o limiar. As ações de redução horizontal tendem a comparar o valor da métrica com o limiar ao utilizar o operador menos que. Uma ação de dimensionamento também define o número de instâncias para um nível específico, ao invés de aumentar ou diminuir o número disponível.

Uma ação de dimensionamento tem um tempo de arrefecimento que é especificado em minutos. Durante este período, a regra de dimensionamento não volta a ser acionada. O arrefecimento permite a estabilização do sistema entre eventos de dimensionamento. Iniciar ou encerrar instâncias demora tempo, pelo que as métricas recolhidas poderão não mostrar alterações significativas durante vários minutos. O tempo de arrefecimento mínimo é de cinco minutos.

Finalmente, você deve planejar uma expansão quando uma carga de trabalho diminuir. Pondere definir regras de dimensionamento em pares na mesma condição de dimensionamento. Uma regra de dimensionamento deve indicar como o sistema deve ser aumentado horizontalmente quando uma métrica exceder um limiar superior. A outra regra tem de definir como o sistema será reduzido horizontalmente quando essa mesma métrica ficar abaixo de um limiar inferior. Não atribua o mesmo valor a ambos os limiares, Caso contrário, você pode acionar uma série de eventos oscilantes que se expandem e voltam novamente.

A seguinte imagem mostra uma regra de dimensionamento definida no portal do Azure.

Captura de ecrã a mostrar uma regra de dimensionamento baseada em métricas no portal do Azure.