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 contêineres e serviços, para que eles não consumam mais de 75% dos recursos do nó.
  7. Compreender e definir o nível de durabilidade. O nível de durabilidade prata ou superior é recomendado para tipos de nó que executam cargas de trabalho com monitoração de estado e é necessário para a produção.
  8. Entenda e escolha o nível de confiabilidade do tipo de nó. Recomenda-se prata ou confiabilidade superior e é necessária para a produção.
  9. Teste de carga e dimensionamento suas cargas de trabalho para identificar os requisitos de capacidade para seu 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 log ao seu aplicativo do Service Fabric e Monitorar contêineres com logs 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 é monitorada 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. Upgrades de aplicativos e upgrades de cluster são testados em clusters de desenvolvimento e preparo primeiro.
  16. Desative as atualizações automáticas em clusters de produção e ative-as para clusters de desenvolvimento e preparo (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 os aplicativos durante o desenvolvimento local para verificar se o código de serviço está honrando o RunAsync token de cancelamento no método e fechando 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á altas taxas de coleta de lixo ou crescimento de heap descontrolado.
  4. Mantenha o backup off-line de serviços confiáveis e atores confiáveis e teste o processo de restauração.
  5. Idealmente, a contagem de instâncias da Máquina Virtual NodeType Primária deve ser igual ao mínimo para a camada de Confiabilidade de Clusters; condições quando apropriado para exceder o mínimo de nível inclui: temporariamente ao dimensionar verticalmente seu NodeTypes primário Conjunto de escala de máquina virtual SKU.

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. Implante um cão de guarda personalizado que esteja monitorando seu aplicativo e a carga de relatórios para balanceamento de recursos.

Próximos passos