1
resposta

estratégia de deploy

Tenho uma duvida sobre a automatização de um pipeline de entrega. Exemplo: Tenho 3 microserviço e desenvolvo uma feature que mexe nesse 3 sistema. Qual seria a melhor forma de publicar essa feature? Todos os sistema de uma vez ou o primeiro fica pronto e já publica

1 resposta

Olá, Helio.

Tudo bem?

Pela sua dúvida sobre a melhor forma de publicar uma feature que impacta múltiplos microserviços, a estratégia ideal pode variar dependendo de vários fatores, como a interdependência entre os serviços e os riscos associados à implementação simultânea.

Uma abordagem comum é utilizar o método de deploy contínuo com integração contínua, onde cada microserviço é atualizado e testado de forma independente assim que as mudanças são feitas e aprovadas através de um pipeline de CI/CD. Isso permite que cada serviço seja publicado assim que estiver pronto, sem precisar esperar pelos outros. Isso é especialmente útil se os serviços forem relativamente desacoplados.

Por outro lado, se os microserviços são altamente interdependentes, pode ser mais seguro realizar um deploy coordenado, onde todos os serviços são atualizados simultaneamente. Isso pode ajudar a evitar problemas de incompatibilidade entre as versões dos serviços. Neste caso, é crucial ter um ambiente de staging robusto onde toda a integração pode ser testada em conjunto antes do lançamento em produção.

Além disso, estratégias como canary releases ou blue-green deployments podem ser utilizadas para minimizar riscos, permitindo que novas versões sejam gradualmente expostas a uma parte dos usuários finais antes de uma implementação completa.

Por exemplo, se você atualizar o microserviço A e quiser testar como ele interage com os serviços B e C em produção sem afetar todos os usuários, você pode direcionar apenas uma pequena porcentagem do tráfego para a nova versão no início, monitorar o desempenho e então proceder com o rollout completo se tudo correr bem.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.