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
- 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.
- 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.
- 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 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.
- 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.
- Adicione restrições de recursos em contêineres e serviços, de modo que não consumam mais de 75% dos recursos do nó.
- 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.
- 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.
- Carregue e dimensione o teste das cargas de trabalho para identificar os requisitos de capacidades para o cluster.
- 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.
- O cluster é monitorado com o alerta (por exemplo, com logs do Azure Monitor).
- A infraestrutura do conjunto de dimensionamento de máquinas virtuais subjacente é monitorada com alertas (por exemplo, com logs do Azure Monitor.
- O cluster tem certificados primários e secundários sempre (para que você não seja bloqueado).
- Manter clusters separados para desenvolvimento, preparação e produção.
- Upgrades de aplicativos e upgrades de cluster primeiro são testados em clusters de preparo e desenvolvimento.
- 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).
- 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.
- Planeje a colocação em escala do cluster manualmente ou programaticamente.
- Planeje a aplicação de patch dos nós do cluster.
- Estabeleça um pipeline de CI/CD para que as alterações mais recentes sejam testadas continuamente. Por exemplo, usando Azure DevOps ou Jenkins
- Teste os clusters de preparo e desenvolvimento sob carga com o Serviço de Análise de Falhas e induza caos controlado.
- 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:
- 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. - Evite armadilhas comuns ao usar Reliable Collections.
- 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.
- Mantenha o backup de Reliable Services e Reliable Actors offline e teste o processo de restauração.
- 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:
- Conecte o modelo de integridade do Service Fabric para estender a avaliação e os relatórios de integridade internos.
- Implante um watchdog personalizado que está monitorando o aplicativo e carregue relatórios para balanceamento de recursos.
Próximas etapas
- Implantar um cluster do Windows do Service Fabric
- Implantar um cluster do Linux do Service Fabric
- Leia mais sobre o ciclo de vida do aplicativo do Service Fabric.