Compartilhar via


Lista de verificação de preparação para produção

O aplicativo e o cluster estão prontos para receber tráfego de produção? Executar e testar o aplicativo e o cluster não significa necessariamente que estão prontos para entrar em produção. Mantenha o aplicativo e o cluster em execução correta, analisando a lista de verificação a seguir. É altamente recomendável que todos esses itens sejam verificados. Obviamente, é possível optar por usar soluções alternativas para um item de linha específico (por exemplo, estruturas de diagnóstico próprias).

Pré-requisitos para produção

  1. Melhores práticas do Azure Service Fabric: Design de Aplicativo, Segurança, Rede, Planejamento de capacidade e dimensionamento, Infraestrutura como Código e Monitoramento e Diagnóstico.
  2. Defina as configurações do FabricTransport se você estiver usando o modelo de programação de Reliable Actors e exigir comunicação segura entre serviços.
  3. Para clusters com mais de 20 núcleos ou 10 nós, crie um tipo de nó primário dedicado para serviços do sistema. Adicione restrições de posicionamento para reservar o tipo de nó primário para serviços do sistema.
  4. Use D2v2 ou SKU superior para o tipo de nó primário. É recomendável separar uma SKU com pelo menos 50 GB de capacidade de disco rígido.
  5. Os clusters de produção devem ser seguros. Para um exemplo de configuração de um cluster seguro, consulte este modelo de cluster. Use nomes comuns para certificados e evite usar certificados autoassinados.
  6. Adicione restrições de recursos em contêineres e serviços, de modo que não consumam mais de 75% dos recursos do nó.
  7. Reconheça e defina o nível de durabilidade. É recomendável o nível de durabilidade prata ou superior para tipos de nó que executam cargas de trabalho com estado e necessário para produção.
  8. Reconheça e escolha o nível de confiabilidade do tipo de nó. A confiabilidade prata ou superior é recomendada e necessária para produção.
  9. Carregue e dimensione o teste das cargas de trabalho para identificar os requisitos de capacidades para o cluster.
  10. Os serviços e aplicativos são monitorados e os logs dos aplicativos estão sendo gerados e armazenados, com alertas. Por exemplo, confira Adicionar registro em log ao aplicativo do Service Fabric e Monitorar contêineres com os logs do Azure Monitor.
  11. O cluster é monitorado com o alerta (por exemplo, com logs do Azure Monitor).
  12. A infraestrutura do conjunto de dimensionamento de máquinas virtuais subjacente é monitorada com alertas (por exemplo, com logs do Azure Monitor.
  13. O cluster tem certificados primários e secundários sempre (para que você não seja bloqueado).
  14. Manter clusters separados para desenvolvimento, preparação e produção.
  15. Upgrades de aplicativos e upgrades de cluster primeiro são testados em clusters de preparo e desenvolvimento.
  16. Desative upgrades automáticos em clusters de produção e ative-o para clusters de processo de preparo e desenvolvimento (reversão, conforme necessário).
  17. Estabeleça um RPO (Objetivo de Ponto de Recuperação) para o serviço e configure um processo de recuperação de desastre e teste-o.
  18. Planeje a colocação em escala do cluster manualmente ou programaticamente.
  19. Planeje a aplicação de patch dos nós do cluster.
  20. Estabeleça um pipeline de CI/CD para que as alterações mais recentes sejam testadas continuamente. Por exemplo, usando Azure DevOps ou Jenkins
  21. Teste os clusters de preparo e desenvolvimento sob carga com o Serviço de Análise de Falhas e induza caos controlado.
  22. Planeje a colocação em escala dos aplicativos.

Se estiver usando o modelo de programação Reliable Actors ou Reliable Services do Service Fabric, os seguintes itens devem ser verificados:

  1. Faça upgrade dos aplicativos durante o desenvolvimento local para verificar se o código de serviço está respeitando o token de cancelamento no método RunAsync e fechando ouvintes de comunicação personalizados.
  2. Evite armadilhas comuns ao usar Reliable Collections.
  3. Monitore os contadores de desempenho de memória de CLR do .NET ao executar testes de carga e verifique as altas taxas de Coleta de Lixo ou crescimento de heap sem controle.
  4. Mantenha o backup de Reliable Services e Reliable Actors offline e teste o processo de restauração.
  5. Sua contagem de instâncias de máquina virtual NodeType primária deve idealmente ser igual ao mínimo para sua camada de Confiabilidade de Clusters; quando apropriado, as condições para exceder o mínimo de camada incluem: temporariamente ao escalar verticalmente seu SKU de conjunto de dimensionamento de máquinas virtuais NodeTypes.

Melhores práticas opcionais

Embora as listas acima sejam pré-requisitos para entrar em produção, os seguintes itens também devem ser considerados:

  1. Conecte o modelo de integridade do Service Fabric para estender a avaliação e os relatórios de integridade internos.
  2. Implante um watchdog personalizado que está monitorando o aplicativo e carregue relatórios para balanceamento de recursos.

Próximas etapas