Planejamento de capacidade para funções de servidor do Serviço de Aplicativo no Azure Stack Hub

Para configurar uma implantação pronta para produção do Serviço de Aplicativo do Azure no Azure Stack Hub, você deverá planejar a capacidade que espera que o sistema dê suporte.

Este artigo fornece diretrizes para o número mínimo de instâncias de computação e SKUs de computação que você deve usar para qualquer implantação de produção.

Observação

As diretrizes sobre a SKU de computação recomendada para funções foram atualizadas com a versão 2020.Q2 do Serviço de Aplicativo do Azure no Azure Stack Hub para alinhar as implantações padrão com as implantações do Azure.

Você pode planejar a estratégia de capacidade do Serviço de Aplicativo usando essas diretrizes.

Função de servidor do Serviço de Aplicativo Número mínimo recomendado de instâncias SKU de computação recomendada
Controller 2 A4v2
Front-end 2 A4_v2
Gerenciamento 2 D3_v2
Publicador 2 A2_v2
Web Workers – compartilhado 2 A4_v2
Web Workers – dedicado – pequeno Dois por camada A1_v2
Web Workers – dedicado – médio Dois por camada A2_v2
Web Workers – dedicado – grande Dois por camada A4_v2

Função do controlador

Mínimo recomendado: duas instâncias de A4v2

O controlador de Sites do Serviço de Aplicativo do Azure geralmente apresenta baixo de consumo de CPU, memória e recursos de rede. No entanto, para alta disponibilidade, você deve ter dois controladores. Dois controladores também é o número máximo de controladores permitidos. Você pode criar o segundo controlador de sites direto do instalador durante a implantação.

Função de front-end

Mínimo recomendado: duas instâncias de A4v_2

O front-end encaminha solicitações para web workers dependendo da disponibilidade do web worker. Para alta disponibilidade, você deve ter mais de um front-end, e pode ter mais de dois. Para fins de planejamento de capacidade, considere que cada principal pode ter aproximadamente 100 solicitações por segundo.

Função de gerenciamento

Mínimo recomendado: duas instâncias de D3v2

A função modelo de implantação clássica do Aplicativo Azure é responsável pelos pontos de extremidade de API e do Azure Resource Manager do Serviço de Aplicativo, pelas extensões do portal (administrador, locatário, portal do Functions) e pelo serviço de dados. A função de servidor de gerenciamento normalmente requer somente cerca de 4 GB de RAM em um ambiente de produção. No entanto, ela pode apresentar níveis altos de consumo da CPU quando muitas tarefas de gerenciamento (como a criação do site) são executadas. Para alta disponibilidade, você deve ter mais de um servidor atribuído à função, e pelo menos dois núcleos pelo servidor.

Função publicador

Mínimo recomendado: duas instâncias de A2v2

Se vários usuários estiverem publicando simultaneamente, a função de publicador poderá apresentar grande utilização da CPU. Para alta disponibilidade, disponibilize mais de uma função de publicador. O publicador só lida com o tráfego FTP/FTPS.

Função do web worker

Mínimo recomendado: duas instâncias de A4_v2

Para alta disponibilidade, você deve ter pelo menos quatro funções de web worker: duas para o modo de site compartilhado e duas para cada camada de trabalho dedicada que você planeja oferecer. Os modos de computação compartilhada e dedicada fornecem níveis diferentes de serviço para locatários. Talvez você precise de mais web workers caso muitos de seus clientes estejam:

  • Usando camadas de trabalho do modo de computação dedicada (que fazem uso intenso de recursos).
  • Executando no modo de computação compartilhada.

Depois que um usuário tiver criado um plano do Serviço de Aplicativo para um SKU do modo de computação dedicada, o número de web workers especificado nesse plano do Serviço de Aplicativo não estará mais disponível para os usuários.

Para fornecer o Azure Functions aos usuários no modelo de plano de consumo, você deverá implantar web workers compartilhados.

Ao decidir sobre o número de web workers compartilhados a usar, examine estas considerações:

  • Memória: a memória é o recurso mais importante para a função de web worker. A memória insuficiente afeta o desempenho do site quando a memória virtual é alternada de disco. Cada servidor requer cerca de 1,2 GB de RAM para o sistema operacional. A RAM acima desse limite pode ser usada para executar sites.

  • Porcentual de sites ativos: normalmente, cerca de 5% dos aplicativos em um Serviço de Aplicativo do Azure na implantação do Azure Stack Hub estão ativos. No entanto, o percentual de aplicativos que estão ativos em determinado momento pode ser maior ou menor. Com uma taxa de aplicativo ativa de 5%, o número máximo de aplicativos a serem colocados em um Serviço de Aplicativo do Azure na implantação do Azure Stack Hub deve ser menor que 20 vezes o número de sites ativos (5 x 20 = 100).

  • Volume de memória médio: o volume de memória médio para aplicativos observado em ambientes de produção é de aproximadamente 70 MB. Usando esse volume, a memória alocada em todos os computadores de função de trabalho web ou VMs é calculada da seguinte maneira:

    Number of provisioned applications * 70 MB * 5% - (number of web worker roles * 1044 MB)

    Por exemplo, se houver 5.000 aplicativos em um ambiente executando 10 funções de trabalho web, cada VM de função de trabalho web deverá ter 7.060 MB de RAM:

    5,000 * 70 * 0.05 - (10 * 1044) = 7060 (= about 7 GB)

    Para obter informações sobre como adicionar mais instâncias de trabalho, consulte Adicionando mais funções de trabalho.

Considerações adicionais para trabalhadores dedicados durante a atualização e a manutenção

Durante a atualização e a manutenção dos trabalhos, Serviço de Aplicativo do Azure no Azure Stack Hub executará a manutenção em 20% de cada camada de trabalho ao mesmo tempo. Portanto, os administradores de nuvem sempre devem manter um pool de 20% de trabalhadores não alocados por camada de trabalho para garantir que seus locatários não experimentem nenhuma perda de serviço durante a atualização e a manutenção. Por exemplo, se você tiver 10 trabalhadores em uma camada de trabalho, deverá garantir que 2 não estejam alocados para permitir a atualização e a manutenção. Se os 10 trabalhadores completos forem alocados, você deverá escalar verticalmente a camada de trabalho para manter um pool de trabalhos não alocados.

Durante a atualização e a manutenção, Serviço de Aplicativo do Azure moverá cargas de trabalho para trabalhadores não alocados para garantir que as cargas de trabalho continuem operando. No entanto, se não houver trabalhos não alocados disponíveis durante a atualização, haverá potencial para tempo de inatividade da carga de trabalho do locatário. No que diz respeito aos trabalhos compartilhados, os clientes não precisam provisionar trabalhos adicionais, pois o serviço alocará aplicativos de locatários em trabalhos disponíveis automaticamente. Para alta disponibilidade, há um requisito mínimo de dois trabalhos nessa camada.

Os administradores de nuvem podem monitorar a alocação da camada de trabalho na área de administração do Serviço de Aplicativo no portal do administrador do Azure Stack Hub. Navegue até Serviço de Aplicativo e selecione Camadas de Trabalho no painel esquerdo. A tabela Camadas de Trabalho mostra o nome da camada de trabalho, o tamanho, a imagem usada, o número de trabalhos disponíveis (não alocados), o número total de trabalhos em cada camada e o estado geral da camada de trabalho.

Administração do Serviço de Aplicativo – Camadas de Trabalho

Função de servidor de arquivos

Para a função de servidor de arquivos, você pode usar o servidor de arquivos autônomo para desenvolvimento e testes. Por exemplo, ao implantar Serviço de Aplicativo do Azure no ASDK (Kit de Desenvolvimento do Azure Stack), você pode usar esse modelo. Para fins de produção, você deve usar um servidor de arquivos do Windows pré-configurado ou um servidor de arquivos pré-configurado que não seja do Windows.

Em ambientes de produção, a função de servidor de arquivos apresenta E/S intensa de disco. Como ele hospeda todos os arquivos de conteúdo e de aplicativo para sites de usuários, você deve pré-configurar um dos seguintes recursos para essa função:

  • Servidor de arquivos do Windows
  • Cluster do servidor de arquivos do Windows
  • Servidor de arquivos que não seja do Windows
  • Cluster de servidores de arquivos que não seja do Windows
  • Dispositivo NAS (armazenamento anexado à rede)

Para obter mais informações, consulte Provisionar um servidor de arquivos.

Próximas etapas

Pré-requisitos para implantar o Serviço de Aplicativo no Azure Stack Hub