
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?