Quais as melhores técnicas de deployment? - Full Cycle FullCycle

Voltar

Wesley Willians

Quais as melhores técnicas de deployment?

8 min de leitura

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?