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
- 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.
- 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.
- 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.
- 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.
- 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.
- Adicione restrições de recursos em contêineres e serviços, para que eles não consumam mais de 75% dos recursos do nó.
- 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.
- 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.
- Teste de carga e dimensionamento suas cargas de trabalho para identificar os requisitos de capacidade para seu cluster.
- 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.
- O cluster é monitorado com alertas (por exemplo, com logs do Azure Monitor).
- A infraestrutura subjacente do conjunto de dimensionamento de máquinas virtuais é monitorada com alertas (por exemplo, com logs do Azure Monitor.
- O cluster tem sempre certificados primários e secundários (para que você não fique bloqueado).
- Mantenha clusters separados para desenvolvimento, preparação e produção.
- Upgrades de aplicativos e upgrades de cluster são testados em clusters de desenvolvimento e preparo primeiro.
- 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).
- 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.
- Planeje o dimensionamento do cluster manualmente ou programaticamente.
- Planeje a aplicação de patches nos nós do cluster.
- 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
- Teste seus clusters de desenvolvimento e preparação sob carga com o Serviço de Análise de Falhas e induza o caos controlado.
- 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:
- 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. - Evite armadilhas comuns ao usar Coleções Confiáveis.
- 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.
- Mantenha o backup off-line de serviços confiáveis e atores confiáveis e teste o processo de restauração.
- 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:
- Conecte-se ao modelo de integridade do Service Fabric para estender a avaliação e os relatórios de integridade internos.
- 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
- Implantar um cluster do Windows do Service Fabric
- Implantar um cluster Linux do Service Fabric
- Saiba mais sobre o ciclo de vida das aplicações do Service Fabric.