Quando fazer Deploy Canário? - Full Cycle FullCycle

Voltar

Wesley Willians

Quando fazer Deploy Canário?

5 min de leitura

Fazer o deploy é uma tarefa importante quando desenvolvemos os nossos sistemas e precisamos colocá-los no ar. Mas quando trabalhamos em grandes sistemas ou em casos específicos, existem diferentes tipos de deploys que oferecem mais segurança e ainda nos ajudam a testar algumas atualizações.

 

Deploy Canário

O Deploy Canário, ou Canary Deploy, nos ajuda a adicionar novos recursos à nossa aplicação enquanto mantemos em paralelo a sua versão anterior. Assim nós podemos testar novas funcionalidades, verificar a adaptação dos usuários e também conseguimos avaliar o tráfego.

Enquanto mantemos a aplicação que já está funcionando, podemos definir que apenas 10% dos usuários irão acessar a nova versão. E com tempo podemos aumentar o acesso até decidirmos que 100% das pessoas terão o acesso total. Mas se você testou a sua hipótese e decidiu que não vale a pena fazer esse implemento, basta descartá-lo.

Isso acontece com frequência durante as atualizações do Facebook, quando recebemos a atualização de um novo recurso, mas alguns usuários não a recebem. Se você já teve essa experiência é porque provavelmente a aplicação está num processo de Deploy Canário.

Mas nós só devemos fazer isso enquanto tivermos um objetivo muito claro, seja para testar uma hipótese, por questões de segurança ou para nos certificar de que a atualização vai se sustentar.

Ferramentas

Existem diversas ferramentas que podem nos ajudar a lidar com esse processo. E se você trabalha com containers pelo Kubernetes, o Istio também é uma opção viável que conta com um processo muito simples e eficaz para fazer esse tipo de tarefa.

Você também pode optar por uma ferramenta chamada Spinnaker, desenvolvida pela Netflix, que te ajuda a criar todo o seu pipeline de deploy e a escolher visualmente a forma que você pretende fazer o seu Deploy Canário.

Você ainda pode encontrar outras ferramentas e padrões de deploy mais adequados para cada tipo de situação. Portanto, é essencial que você entenda as finalidades de cada método antes de utilizá-los da forma mais apropriada para colocar os seus sistemas no ar.

Gostou desse artigo? Confira também 3 dicas para sua entrevista como desenvolvedor. Não esqueça de conferir também o nosso canal do youtube, são diversos conteúdos de alta qualidade para você que quer se tornar um profissional completo.