Melhores práticas do dimensionamento automático

O dimensionamento automático do Azure Monitor aplica-se apenas ao Azure Conjuntos de Dimensionamento de Máquinas Virtuais, ao Azure Serviços Cloud, à funcionalidade de Aplicações Web do Serviço de Aplicações do Azure e ao Azure Gestão de API.

Conceitos de dimensionamento automático

  • Um recurso só pode ter uma definição de dimensionamento automático.
  • Uma definição de dimensionamento automático pode ter um ou mais perfis e cada perfil pode ter uma ou mais regras de dimensionamento automático.
  • Uma definição de dimensionamento automático dimensiona as instâncias horizontalmente, o que é reduzido ao aumentar as instâncias e ao diminuir o número de instâncias.
  • Uma definição de dimensionamento automático tem um valor máximo, mínimo e predefinido de instâncias.
  • Uma tarefa de dimensionamento automático lê sempre a métrica associada para dimensionar, verificando se ultrapassou o limiar configurado para aumento horizontal ou redução horizontal. Pode ver uma lista de métricas que o dimensionamento automático pode dimensionar em métricas comuns de dimensionamento automático do Azure Monitor.
  • Todos os limiares são calculados ao nível da instância. Um exemplo é "aumentar horizontalmente por uma instância quando a CPU > média é de 80% quando a contagem de instâncias é 2". Significa aumentar horizontalmente quando a CPU média em todas as instâncias for superior a 80%.
  • Todas as falhas de dimensionamento automático são registadas no registo de atividades. Em seguida, pode configurar um alerta de registo de atividades para que possa ser notificado por e-mail, SMS ou webhooks sempre que ocorrer uma falha de dimensionamento automático.
  • Da mesma forma, todas as ações de dimensionamento bem-sucedidas são publicadas no registo de atividades. Em seguida, pode configurar um alerta de registo de atividades para que possa ser notificado por e-mail, SMS ou webhooks sempre que ocorrer uma ação de dimensionamento automático bem-sucedida. Também pode configurar notificações de e-mail ou webhook para ser notificado relativamente a ações de dimensionamento bem-sucedidas através do separador notificações na definição de dimensionamento automático.

Melhores práticas de dimensionamento automático

Utilize as seguintes melhores práticas à medida que utiliza o dimensionamento automático.

Verificar se os valores máximo e mínimo são diferentes e têm uma margem adequada entre si

Se tiver uma definição que tenha mínimo=2, máximo=2 e a contagem de instâncias atual for 2, não poderá ocorrer nenhuma ação de dimensionamento. Mantenha uma margem adequada entre as contagens de instâncias máxima e mínima, que são inclusivas. O dimensionamento automático dimensiona sempre entre estes limites.

O dimensionamento manual é reposto pelo dimensionamento automático mínimo e máximo

Se atualizar manualmente a contagem de instâncias para um valor acima ou abaixo do máximo, o motor de dimensionamento automático volta automaticamente ao mínimo (se abaixo) ou ao máximo (se acima). Por exemplo, define o intervalo entre 3 e 6. Se tiver uma instância em execução, o motor de dimensionamento automático dimensiona para três instâncias na próxima execução. Da mesma forma, se definir manualmente a escala para oito instâncias, no dimensionamento automático da próxima execução irá dimensioná-la novamente para seis instâncias na próxima execução. O dimensionamento manual é temporário, a menos que também reponha as regras de dimensionamento automático.

Utilize sempre uma combinação de regras de aumento horizontal e redução horizontal que efetue um aumento e uma diminuição

Se utilizar apenas uma parte da combinação, o dimensionamento automático só efetua ações numa única direção (aumentar ou reduzir horizontalmente) até atingir o número máximo ou mínimo de instâncias, conforme definido no perfil. Esta situação não é a ideal. Idealmente, pretende que o recurso aumente horizontalmente em momentos de utilização elevada para garantir a disponibilidade. Da mesma forma, em momentos de baixa utilização, quer que o recurso seja dimensionado para que possa realizar poupanças de custos.

Quando utiliza uma regra de redução horizontal e horizontal, utilize idealmente a mesma métrica para controlar ambas. Caso contrário, é possível que as condições de redução horizontal e horizontal possam ser cumpridas ao mesmo tempo e resultar em algum nível de oscilação. Por exemplo, não recomendamos a seguinte combinação de regras porque não existe nenhuma regra de redução horizontal para a utilização da memória:

  • Se CPU > 90%, aumente horizontalmente em 1
  • Se Memória > 90%, aumentar horizontalmente em 1
  • Se CPU < 45%, dimensionar em 1

Neste exemplo, pode ter uma situação em que a utilização da memória é superior a 90%, mas a utilização da CPU é inferior a 45%. Este cenário pode levar a oscilações desde que ambas as condições sejam cumpridas.

Escolher a estatística adequada para a métrica de diagnóstico

Para métricas de diagnóstico, pode escolher entre Média, Mínimo, Máximo e Total como uma métrica para dimensionar. A estatística mais comum é a Média.

Considerações relativas aos valores dos limiares de dimensionamento das métricas especiais

Para métricas especiais, como um Armazenamento do Azure ou Azure Service Bus métrica de comprimento da fila, o limiar é o número médio de mensagens disponíveis por número atual de instâncias. Escolha cuidadosamente o valor de limiar para esta métrica.

Vamos ilustrar com um exemplo para garantir que compreende melhor o comportamento:

  • Aumentar as instâncias em 1 contagem quando a contagem >de mensagens da fila de armazenamento = 50
  • Diminuir as instâncias em 1 contagem quando a contagem <de mensagens da fila de armazenamento = 10

Considere a seguinte sequência:

  1. Existem duas instâncias de fila de Armazenamento.
  2. As mensagens continuam a chegar e, quando revê a fila de Armazenamento, a contagem total é de 50. Pode assumir que o dimensionamento automático deve iniciar uma ação de escalamento horizontal. No entanto, repare que ainda é 50/2 = 25 mensagens por instância. Portanto, o aumento horizontal não ocorre. Para que a primeira ação de escalamento horizontal ocorra, a contagem total de mensagens na fila de Armazenamento deve ser 100.
  3. Em seguida, suponha que a contagem total de mensagens atinge os 100.
  4. É adicionada uma terceira instância de fila de Armazenamento devido a uma ação de aumento horizontal. A próxima ação de aumento horizontal só acontecerá quando a contagem total de mensagens na fila chegar aos 150 porque 150/3 = 50.
  5. Agora, o número de mensagens na fila fica mais pequeno. Com três instâncias, a primeira ação de redução horizontal ocorre quando o total de mensagens em todas as filas soma até 30 porque 30/3 = 10 mensagens por instância, que é o limiar de redução horizontal.

Considerações sobre o dimensionamento quando são configuradas várias regras num perfil

Existem casos em que poderá ter de definir várias regras num perfil. As seguintes regras de dimensionamento automático são utilizadas pelo motor de dimensionamento automático quando são definidas várias regras:

  • No aumento horizontal, o dimensionamento automático é executado se alguma regra for cumprida.
  • No dimensionamento horizontal, o dimensionamento automático requer que todas as regras sejam cumpridas.

Para ilustrar, suponha que tem quatro regras de dimensionamento automático:

  • Se CPU < 30%, dimensionar em 1
  • Se Memória < 50%, dimensionar em 1
  • Se CPU > 75%, aumente horizontalmente em 1
  • Se Memória > 75%, aumentar horizontalmente por 1

Em seguida, ocorre a seguinte ação:

  • Se a CPU for de 76% e a Memória for de 50%, aumentaremos horizontalmente.
  • Se a CPU for de 50% e a Memória for de 76%, aumentaremos horizontalmente.

Por outro lado, se a CPU for de 25% e a Memória for de 51%, o dimensionamento automático não será reduzido horizontalmente. Para reduzir horizontalmente, a CPU tem de ser 29% e a Memória 49%.

Selecionar sempre uma contagem de instâncias predefinidas segura

A contagem de instâncias predefinida é importante porque o dimensionamento automático dimensiona o serviço para essa contagem quando as métricas não estão disponíveis. Como resultado, selecione uma contagem de instâncias predefinida segura para as cargas de trabalho.

Configurar notificações de dimensionamento automático

Dimensionar automaticamente mensagens no registo de atividades se ocorrer alguma das seguintes condições:

  • O dimensionamento automático emite uma operação de dimensionamento.
  • O serviço de dimensionamento automático conclui com êxito uma ação de dimensionamento.
  • O serviço de dimensionamento automático não efetua uma ação de dimensionamento.
  • As métricas não estão disponíveis para o serviço de dimensionamento automático tomar uma decisão de dimensionamento.
  • As métricas estão novamente disponíveis (recuperação) para tomar uma decisão de dimensionamento.
  • O dimensionamento automático deteta a oscilação e aborta a tentativa de dimensionamento. Verá um tipo de registo desta Flapping situação. Se vir este tipo de registo, considere se os limiares são demasiado estreitos.
  • O dimensionamento automático deteta a oscilação, mas continua a conseguir dimensionar com êxito. Verá um tipo de registo desta FlappingOccurred situação. Se vir este tipo de registo, o motor de dimensionamento automático tentou dimensionar (por exemplo, de quatro instâncias para duas), mas determinou que esta alteração causaria oscilação. Em vez disso, o motor de dimensionamento automático foi dimensionado para um número diferente de instâncias (por exemplo, com três instâncias em vez de duas), o que já não causa oscilação, pelo que foi dimensionado para este número de instâncias.

Também pode utilizar um alerta do registo de atividades para monitorizar o estado de funcionamento do motor de dimensionamento automático. Um exemplo mostra como criar um alerta de registo de atividades para monitorizar todas as operações do motor de dimensionamento automático na sua subscrição. Outro exemplo mostra como criar um alerta de registo de atividades para monitorizar todas as operações de escalamento horizontal/escalamento horizontal falhadas no dimensionamento automático na sua subscrição.

Além de utilizar alertas do registo de atividades, também pode configurar notificações de e-mail ou webhook para receber notificações para ações de dimensionamento através do separador notificações na definição de dimensionamento automático.

Enviar dados de forma segura com o TLS 1.2

Para garantir a segurança dos dados em trânsito para o Azure Monitor, recomendamos vivamente que configure o agente para utilizar, pelo menos, o Transport Layer Security (TLS) 1.2. As versões mais antigas do TLS/Secure Sockets Layer (SSL) foram consideradas vulneráveis. Apesar de ainda trabalharem para permitir a retrocompatibilidade, não os recomendamos. A indústria está rapidamente a mover-se para abandonar o suporte para estes protocolos mais antigos.

O Conselho de Normas de Segurança do PCI fixou um prazo de 30 de junho de 2018 para desativar versões mais antigas do TLS/SSL e atualizar para protocolos mais seguros. Depois de o Azure deixar cair o suporte legado, se os seus agentes não conseguirem comunicar pelo menos através do TLS 1.2, não poderá enviar dados para os Registos do Azure Monitor.

Recomendamos que não defina explicitamente o agente para utilizar apenas o TLS 1.2, a menos que seja necessário. É preferível permitir que o agente detete, negoceie e tire partido de normas de segurança futuras. Caso contrário, poderá perder a segurança adicional das normas mais recentes e possivelmente ter problemas se o TLS 1.2 alguma vez for preterido a favor dessas normas mais recentes.

Passos seguintes