Quando fazemos o deploy das nossas aplicações nos deparamos com algumas situações típicas que exigem medidas adequadas para resolvê-las. Vejamos alguns exemplos das melhores técnicas de deployment.
Downtime e Erro de Versão
Essa situação chamada downtime corresponde ao tempo de indisponibilidade do sistema quando ele está no ar e nós precisamos subir uma nova versão.
Um outro problema surge quando o sistema contém um erro tão grande a ponto de nos fazer voltar à versão anterior, que já foi removida e leva tempo para fazer isso. É por isso que hoje em dia nós utilizamos técnicas de deployment mais práticas para cada tipo de situação.
Deploy Blue/Green e Red/Black
Quem utiliza a ferramenta da Netflix tem o costume de chamar esse padrão de Red/Black.
Seguindo esse padrão, com a nossa infraestrutura nós mantemos toda a nossa aplicação rodando e subimos a nova versão, mudando apenas o tráfego da versão anterior para a nova. Em resumo, nós mantemos a versão anterior no ar para utilizar essa estratégia.
Se tudo estiver em ordem a aplicação anterior é descartada; mas se não estiver, basta redirecionar o tráfego novamente sem ter o risco de downtime ou qualquer demora para colocar a aplicação de volta no ar.
Canary Deploy
Se você quiser fazer modificações no seu sistema, por exemplo, ao invés de disponibilizar 100% dos acessos à nova versão da sua aplicação, você define que apenas 10% das pessoas irão recebê-la.
Um exemplo muito claro disso é quando o Facebook muda para algumas pessoas e não muda para outras. Quando isso acontece é porque provavelmente eles estão fazendo um deploy canário.
Dessa forma eles podem analisar as métricas e se estiver tudo em ordem eles aumentam o percentual de acessos até que 100% dos usuários recebam a nova versão. E naturalmente a versão anterior é descartada.
Essas são estratégias de deployment bem conhecidas na atualidade, que te oferecem segurança em relação ao downtime e ainda garantem uma recuperação rápida caso haja algum erro ou problema na sua aplicação.
Se você curtiu esse conteúdo e quer aprender outras técnicas de deployment mais eficazes, clique aqui e solicite contato conosco que nós te ajudamos.
Veja também: Vantagens e desvantagens de uma plataforma low-code.
E você já conferiu o conteúdo do nosso canal do youtube?



Curso Full Cycle 4.0
Curso Full Cycle 4.0 Juniors
MBA em Engenharia de Software com IA
MBA Arquitetura Full Cycle
Pós Liderança Técnica
Pós GO Expert
Devops Pro