Reduzindo downtimes com Deployments Blue/Green

Atualmente você vem enfrentando problemas no momento em que deseja lançar uma nova versão da sua aplicação em produção, tais como indisponibilidades para os usuários (downtimes), falhas nas aplicações e dificuldades para rollbacks? Neste artigo iremos apresentar a técnica de Deployment Blue/Green para minimizar esses problemas sem gastar muito!

A técnica de Deployment Blue/Green mantém dois ambientes (infraestrutura) trabalhando em paralelo, sendo um utilizado pelos usuários, ou seja, o que está em produção, enquanto o outro é utilizado pelos desenvolvedores para testar a nova aplicação, ou seja, o que está em desenvolvimento. Ao ouvir “manter dois ambientes” muitos já pensam em alto custo, mas hoje no mundo de cloud, é possível sim manter uma infraestrutura em paralelo sem ter que pagar muito. A ideia é manter o ambiente de desenvolvimento com recursos reduzidos.

Para que você possa realizar o lançamento de novas versões, basta aplica-las no ambiente que estiver em desenvolvimento, realizar os testes básicos na aplicação, tais como interfaces de usuários e funcionalidades:

fase1

Estando tudo ok, aumente a capacidade de recursos para a mesma capacidade do ambiente em produção e realize testes de estresse, para garantir que a aplicação funcionará corretamente quando estiver em produção:

fase2

Após todos os testes realizados, basta chavear para que os usuários passem a acessar o ambiente que possui a nova aplicação:

fase3

Se não ocorrer erros no novo ambiente, basta diminuir os recursos do antigo ambiente de produção, desta forma reduzimos os custos de infraestrutura:

fase4

Mas vamos supor que após o chaveamento dos usuários para a nova versão da aplicação eles comecem a receber diversos erros da aplicação:

error

Como você voltaria para aplicação antiga? Com rollback, e como isso pode ser feito neste cenário? Muito simples, bastando chaveá-los para o ambiente antigo!

fase4 rollback

Ao utilizar esta técnica é possível realizar lançamentos de novas versões de aplicações com zero downtime, ou seja, os usuários passam a utilizar a nova versão sem nenhuma indisponibilidade no momento da transição, fora que em caso de problemas, o rollback é realizado sem nenhuma dificuldade.

Agora eu te pergunto o que é mais importante para você, entregar suas aplicações de forma transparente aos usuários ou pagar menos para manter apenas uma estrutura da sua aplicação, correndo o risco de possíveis falhas nas atualizações, além de indisponibilidades?

Ficou interessado em implantar a técnica de Deployment Blue/Green no seu ambiente? Procure pelo nosso time! A BRLink terá o prazer de auxilia-lo.

Categoria: