Partilhar via


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

Seu aplicativo e cluster estão prontos para receber tráfego de produção? Executar e testar seu aplicativo e seu cluster não significa necessariamente que ele esteja pronto para entrar em produção. Mantenha seu aplicativo e cluster funcionando sem problemas, passando pela lista de verificação a seguir. Recomendamos vivamente que todos estes itens sejam verificados. Obviamente, você pode optar por usar soluções alternativas para um item de linha específico (por exemplo, suas próprias estruturas de diagnóstico).

Pré-requisitos para a produção

  1. Práticas recomendadas do Azure Service Fabric: Design de Aplicativos, Segurança, Rede, Planejamento e dimensionamento de capacidade, Infraestrutura como código e Monitoramento e diagnóstico.
  2. Configure as configurações do FabricTransport se estiver usando o modelo de programação Reliable Actors e precisar de 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 uma SKU D2v2 ou superior para o tipo de nó primário. Recomenda-se escolher um SKU com pelo menos 50 GB de capacidade do disco rígido.
  5. Os clusters de produção devem ser seguros. Para obter 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 contentores e serviços, para que não consumam mais de 75% dos recursos do nó.
  7. Compreender e definir o nível de durabilidade. O nível de durabilidade prateado ou superior é recomendado para tipos de nó que executam cargas de trabalho com estado e é necessário para a produção.
  8. Entenda e escolha o nível de confiabilidade do tipo de nó. Recomenda-se confiabilidade de nível prata ou superior, sendo um requisito para a produção.
  9. Teste de carga e dimensionamento das cargas de trabalho para identificar os requisitos de capacidade para o cluster.
  10. Seus serviços e aplicativos são monitorados e logs de aplicativos estão sendo gerados e armazenados, com alertas. Por exemplo, consulte Adicionar registos à sua aplicação do Service Fabric e Monitorizar contêineres com registos do Azure Monitor.
  11. O cluster é monitorado com alertas (por exemplo, com logs do Azure Monitor).
  12. A infraestrutura subjacente do conjunto de dimensionamento de máquinas virtuais é monitorizada com alertas (por exemplo, com logs do Azure Monitor).
  13. O cluster tem sempre certificados primários e secundários (para que você não fique bloqueado).
  14. Mantenha clusters separados para desenvolvimento, preparação e produção.
  15. Atualizações de aplicações e atualizações de clusters são testadas primeiro em clusters de desenvolvimento e teste.
  16. Desative as atualizações automáticas em clusters de produção e ative-as para clusters de desenvolvimento e teste (reversão conforme necessário).
  17. Estabeleça um RPO (Recovery Point Objetive, objetivo de ponto de recuperação) para seu serviço, configure um processo de recuperação de desastres e teste-o.
  18. Planeje o dimensionamento do cluster manualmente ou programaticamente.
  19. Planeje a aplicação de patches nos nós do cluster.
  20. Estabeleça um pipeline de CI/CD para que suas alterações mais recentes sejam continuamente testadas. Por exemplo, usando o Azure DevOps ou Jenkins
  21. Teste seus clusters de desenvolvimento e preparação sob carga com o Serviço de Análise de Falhas e induza o caos controlado.
  22. Planeje o dimensionamento de seus aplicativos.

Se você estiver usando o modelo de programação Serviços Confiáveis do Service Fabric ou Atores Confiáveis, os seguintes itens precisam ser verificados:

  1. Atualize as aplicações durante o desenvolvimento local para verificar se o código do serviço está a respeitar o token de cancelamento no método RunAsync e a encerrar os ouvintes de comunicação personalizados.
  2. Evite armadilhas comuns ao usar Coleções Confiáveis.
  3. Monitore os contadores de desempenho de memória CLR do .NET ao executar testes de carga e verifique se há alta ocorrência de coleta de lixo ou aumento descontrolado do heap.
  4. Mantenha o backup off-line de serviços confiáveis e atores confiáveis e teste o processo de restauração.
  5. Idealmente, o número de instâncias da Máquina Virtual do NodeType Primário deve corresponder ao mínimo para o nível de Fiabilidade dos Clusters; é apropriado exceder temporariamente o mínimo do nível ao redimensionar verticalmente o SKU do Conjunto de Escala de Máquina Virtual do NodeType Primário.

Práticas recomendadas opcionais

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

  1. Conecte-se ao modelo de integridade do Service Fabric para estender a avaliação e os relatórios de integridade internos.
  2. Implemente um monitor personalizado que esteja a monitorizar a sua aplicação e a reportar a carga para balanceamento de recursos.

Próximos passos