Share via


Dimensionamento automático e ambiente do Serviço de Aplicativo v1

Importante

Este artigo é sobre o Ambiente do Serviço de Aplicativo v1. O Ambiente do Serviço de Aplicativo v1 será desativado em 31 de agosto de 2024. Há uma nova versão do Ambiente do Serviço de Aplicativo que é mais fácil de usar e é executada em uma infraestrutura mais poderosa. Para saber mais sobre a nova versão, comece com a Introdução ao Ambiente do Serviço de Aplicativo. Se você estiver usando o Ambiente do Serviço de Aplicativo v1, siga as etapas neste artigo para migrar para a nova versão.

A partir de 29 de janeiro de 2024, você não poderá mais criar novos recursos do Ambiente do Serviço de Aplicativo v1 usando qualquer um dos métodos disponíveis, incluindo modelos ARM/Bicep, Portal do Azure, CLI do Azure ou API REST. Você deve migrar para o Ambiente do Serviço de Aplicativo v3 antes de 31 de agosto de 2024 para evitar a exclusão de recursos e a perda de dados.

Os ambientes do Serviço de Aplicativo do Azure oferecem suporte ao dimensionamento automático. Você pode dimensionar automaticamente pools de trabalhadores individuais com base em métricas ou agendamento.

Autoscale options for a worker pool.

O dimensionamento automático otimiza a utilização de recursos aumentando e reduzindo automaticamente um ambiente do Serviço de Aplicativo para se adequar ao seu orçamento e/ou perfil de carga.

Configurar o dimensionamento automático do pool de trabalhadores

Você pode acessar a funcionalidade de dimensionamento automático na guia Configurações do pool de trabalhadores.

Settings tab of the worker pool.

A partir daí, a interface deve ser bastante familiar, pois é a mesma experiência que você vê quando dimensiona um plano do Serviço de Aplicativo.

Manual scale settings.

Você também pode configurar um perfil de dimensionamento automático.

Autoscale settings.

Os perfis de dimensionamento automático são úteis para definir limites na sua escala. Dessa forma, você pode ter uma experiência de desempenho consistente definindo um valor de escala de limite inferior (1) e um limite de gastos previsível definindo um limite superior (2).

Scale settings in profile.

Depois de definir um perfil, você pode adicionar regras de dimensionamento automático para aumentar ou diminuir o número de instâncias no pool de trabalhadores dentro dos limites definidos pelo perfil. As regras de dimensionamento automático são baseadas em métricas.

Scale rule.

Qualquer pool de trabalhadores ou métricas de front-end podem ser usados para definir regras de dimensionamento automático. Essas métricas são as mesmas métricas que você pode monitorar nos gráficos de folha de recursos ou definir alertas para.

Exemplo de dimensionamento automático

O dimensionamento automático de um ambiente do Serviço de Aplicativo pode ser melhor ilustrado percorrendo um cenário.

Este artigo explica todas as considerações necessárias ao configurar o dimensionamento automático. O artigo orienta você pelas interações que entram em jogo quando você considera o dimensionamento automático de ambientes do Serviço de Aplicativo hospedados no Ambiente do Serviço de Aplicativo.

Introdução ao cenário

Frank é um administrador de sistemas de uma empresa que migrou uma parte das cargas de trabalho que gerencia para um ambiente do Serviço de Aplicativo.

O ambiente do Serviço de Aplicativo é configurado para dimensionamento manual da seguinte maneira:

  • Front-ends: 3
  • Grupo de trabalhadores 1: 10
  • Grupo de trabalhadores 2: 5
  • Grupo de trabalhadores 3: 5

O pool de trabalhadores 1 é usado para cargas de trabalho de produção, enquanto o pool de trabalhadores 2 e o pool de trabalhadores 3 são usados para garantia de qualidade (QA) e cargas de trabalho de desenvolvimento.

Os planos do Serviço de Aplicativo para QA e dev são configurados para dimensionamento manual. O plano do Serviço de Aplicativo de produção está definido para dimensionamento automático para lidar com variações na carga e no tráfego.

Frank está muito familiarizado com a aplicação. Eles sabem que o horário de pico de carga é entre 9:00 e 18:00 porque este é um aplicativo de linha de negócios (LOB) que os funcionários usam enquanto estão no escritório. O uso cai depois disso, quando os usuários terminam naquele dia. Fora do horário de pico, ainda há alguma carga porque os usuários podem acessar o aplicativo remotamente usando seus dispositivos móveis ou PCs domésticos. O plano do Serviço de Aplicativo de produção já está configurado para dimensionamento automático com base no uso da CPU com as seguintes regras:

Specific settings for LOB app.

Perfil de dimensionamento automático – Dias úteis – Plano do Serviço de Aplicativo Perfil de dimensionamento automático – Fins de semana – Plano do Serviço de Aplicativo
Nome: Perfil do dia da semana Designação: Perfil de fim de semana
Dimensionar por: Cronograma e regras de desempenho Dimensionar por: Cronograma e regras de desempenho
Perfil: Dias úteis Perfil: Fim de semana
Tipo: Recorrência Tipo: Recorrência
Intervalo de destino: 5 a 20 instâncias Intervalo de destino: 3 a 10 instâncias
Dias: Segunda-feira, Terça-feira, Quarta-feira, Quinta-feira, Sexta-feira Dias: Sábado, Domingo
Hora de início: 09: 00 Hora de início: 09: 00
Fuso horário: UTC-08 Fuso horário: UTC-08
Regra de dimensionamento automático (Scale-Up) Regra de dimensionamento automático (Scale-Up)
Recurso: Produção (Ambiente do Serviço de Aplicativo) Recurso: Produção (Ambiente do Serviço de Aplicativo)
Métrica: % da CPU Métrica: % da CPU
Funcionamento: Maior que 60% Funcionamento: Maior que 80%
Duração: 5 minutos Duração: 10 minutos
Agregação de tempo: média Agregação de tempo: média
Ação: Aumentar a contagem em 2 Ação: Aumentar a contagem em 1
Arrefecimento (minutos): 15 Arrefecimento (minutos): 20
Regra de dimensionamento automático (Reduzir escala) Regra de dimensionamento automático (Reduzir escala)
Recurso: Produção (Ambiente do Serviço de Aplicativo) Recurso: Produção (Ambiente do Serviço de Aplicativo)
Métrica: % da CPU Métrica: % da CPU
Funcionamento: Menos de 30% Funcionamento: Menos de 20%
Duração: 10 minutos Duração: 15 minutos
Agregação de tempo: média Agregação de tempo: média
Ação: Diminuir a contagem em 1 Ação: Diminuir a contagem em 1
Arrefecimento (minutos): 20 Arrefecimento (minutos): 10

Taxa de inflação do plano do Serviço de Aplicativo

Os planos do Serviço de Aplicativo configurados para dimensionamento automático fazem isso a uma taxa máxima por hora. Esta taxa pode ser calculada com base nos valores fornecidos na regra de escala automática.

Compreender e calcular a taxa de inflação do plano do Serviço de Aplicativo é importante para o dimensionamento automático do ambiente do Serviço de Aplicativo porque as alterações de escala em um pool de trabalhadores não são instantâneas.

A taxa de inflação do plano do Serviço de Aplicativo é calculada da seguinte forma:

App Service plan inflation rate calculation.

Com base na regra Autoscale – Scale Up para o perfil Dia da semana do plano do Serviço de Aplicativo de produção:

App Service plan inflation rate for weekdays based on Autoscale – Scale Up rule.

No caso da regra Autoscale – Scale Up para o perfil Weekend do plano do Serviço de Aplicativo de produção, a fórmula resolveria:

App Service plan inflation rate for weekends based on Autoscale – Scale Up rule.

Esse valor também pode ser calculado para operações de redução de escala.

Com base na regra Autoscale – Scale Down para o perfil Weekday do plano do Serviço de Aplicativo de produção, isso seria o seguinte:

App Service plan inflation rate for weekdays based on Autoscale – Scale Down rule.

No caso da regra Autoscale – Scale Down para o perfil Weekend do plano do Serviço de Aplicativo de produção, a fórmula resolveria:

App Service plan inflation rate for weekends based on Autoscale – Scale Down rule.

O plano do Serviço de Aplicativo de produção pode crescer a uma taxa máxima de oito instâncias/hora durante a semana e quatro instâncias/hora durante o fim de semana. Ele pode liberar instâncias a uma taxa máxima de quatro instâncias/hora durante a semana e seis instâncias/hora durante os fins de semana.

Se vários planos do Serviço de Aplicativo estiverem sendo hospedados em um pool de trabalhadores, você precisará calcular a taxa de inflação total como a soma da taxa de inflação de todos os planos do Serviço de Aplicativo que estão sendo hospedados nesse pool de trabalhadores.

Total inflation rate calculation for multiple App Service plans hosted in a worker pool.

Usar a taxa de inflação do plano do Serviço de Aplicativo para definir regras de dimensionamento automático do pool de trabalhadores

Os pools de trabalhadores que hospedam planos do Serviço de Aplicativo configurados para dimensionamento automático precisam receber um buffer de capacidade. O buffer permite que as operações de dimensionamento automático cresçam e reduzam o plano do Serviço de Aplicativo conforme necessário. O buffer mínimo seria a Taxa de Inflação Total do Plano de Serviço de Aplicativo calculada.

Como as operações de dimensionamento do ambiente do Serviço de Aplicativo levam algum tempo para serem aplicadas, qualquer alteração deve levar em conta outras alterações de demanda que podem ocorrer enquanto uma operação de escala está em andamento. Para acomodar essa latência, recomendamos que você use a Taxa de Inflação do Plano Total do Serviço de Aplicativo calculada como o número mínimo de instâncias adicionadas para cada operação de dimensionamento automático.

Com essas informações, Frank pode definir o seguinte perfil e regras de dimensionamento automático:

Autoscale profile rules for LOB example.

Perfil de dimensionamento automático – Dias úteis Perfil de escala automática – Fins de semana
Nome: Perfil do dia da semana Designação: Perfil de fim de semana
Dimensionar por: Cronograma e regras de desempenho Dimensionar por: Cronograma e regras de desempenho
Perfil: Dias úteis Perfil: Fim de semana
Tipo: Recorrência Tipo: Recorrência
Intervalo de destino: 13 a 25 instâncias Intervalo de destino: 6 a 15 instâncias
Dias: Segunda-feira, Terça-feira, Quarta-feira, Quinta-feira, Sexta-feira Dias: Sábado, Domingo
Hora de início: 7: 00 AM Hora de início: 09: 00
Fuso horário: UTC-08 Fuso horário: UTC-08
Regra de dimensionamento automático (Scale-Up) Regra de dimensionamento automático (Scale-Up)
Recurso: Pool de trabalhadores 1 Recurso: Pool de trabalhadores 1
Métrica: TrabalhadoresDisponível Métrica: TrabalhadoresDisponível
Funcionamento: Menos de 8 Funcionamento: Menos de 3
Duração: 20 minutos Duração: 30 minutos
Agregação de tempo: média Agregação de tempo: média
Ação: Aumentar a contagem em 8 Ação: Aumentar a contagem em 3
Arrefecimento (minutos): 180 Arrefecimento (minutos): 180
Regra de dimensionamento automático (Reduzir escala) Regra de dimensionamento automático (Reduzir escala)
Recurso: Pool de trabalhadores 1 Recurso: Pool de trabalhadores 1
Métrica: TrabalhadoresDisponível Métrica: TrabalhadoresDisponível
Funcionamento: Maior que 8 Funcionamento: Maior que 3
Duração: 20 minutos Duração: 15 minutos
Agregação de tempo: média Agregação de tempo: média
Ação: Diminuir a contagem em 2 Ação: Diminuir a contagem em 3
Arrefecimento (minutos): 120 Arrefecimento (minutos): 120

O intervalo de destino definido no perfil é calculado pelas instâncias mínimas definidas no perfil para o plano do Serviço de Aplicativo + buffer.

O intervalo Máximo seria a soma de todos os intervalos máximos para todos os planos do Serviço de Aplicativo hospedados no pool de trabalhadores.

A contagem de aumentos para as regras de aumento de escala deve ser definida como pelo menos 1 vezes a Taxa de Inflação do Plano de Serviço de Aplicativo para aumentar a escala.

A contagem de diminuições pode ser ajustada para algo entre 1/2X ou 1X a Taxa de Inflação do Plano do Serviço de Aplicativo para redução de escala.

Dimensionamento automático para pool de front-end

As regras para o dimensionamento automático de front-end são mais simples do que para pools de trabalhadores. Primeiramente, você deve
certifique-se de que a duração da medição e os temporizadores de resfriamento considerem que as operações de escala em um plano do Serviço de Aplicativo não sejam instantâneas.

Para esse cenário, Frank sabe que a taxa de erro aumenta depois que os front-ends atingem 80% de utilização da CPU e define a regra de dimensionamento automático para aumentar as instâncias da seguinte maneira:

Autoscale settings for front-end pool.

Perfil de dimensionamento automático – Front-ends
Nome: Autoscale – Front-ends
Dimensionar por: Cronograma e regras de desempenho
Perfil: Todos os dias
Tipo: Recorrência
Intervalo de destino: 3 a 10 instâncias
Dias: Todos os dias
Hora de início: 09: 00
Fuso horário: UTC-08
Regra de dimensionamento automático (Scale-Up)
Recurso: Pool de front-end
Métrica: % da CPU
Funcionamento: Maior que 60%
Duração: 20 minutos
Agregação de tempo: média
Ação: Aumentar a contagem em 3
Arrefecimento (minutos): 120
Regra de dimensionamento automático (Reduzir escala)
Recurso: Pool de trabalhadores 1
Métrica: % da CPU
Funcionamento: Menos de 30%
Duração: 20 minutos
Agregação de tempo: média
Ação: Diminuir a contagem em 3
Arrefecimento (minutos): 120