Deploy seguro em multi-ambientes com possibilidade de rollback

14 06 2013

Problema

Preciso de uma estratégia de deploy de aplicação que possibilite fazer o rollback caso necessário.

Solução

  • Você pode utilizar a estratégia de ter dois ambientes ativo e passivo.
  • As requisições de usuários passam por um roteador de serviço
  • Existe duas versões do serviço no ar exemplo:
    •  Blue Node (versão atual)(atendendo)
    •  Green Node (atualizando)(não atendendo)
  • O roteador define qual o ativo e qual o passivo passando as requisições apenas para o ativo
                                 |--> Green Node (atualizando)(não atendendo)
Users--> Router  -|
                                 |--> Blue Node (versão atual)(atendendo)

Script the deploy

1) Atualizar um dos nodos ex: Green Node

2) Rodar testes de aceitação no nodo atualizado (Green Node)

3) Trocar o Green pelo Blue (Switch) e deixa um atendendo as requisições e outro passivo

4) Tudo deu certo? O nodo atualizado está atendendo corretamente?

4.1) Sim, então procede com a atualização do outro nodo (Blue Node)

4.2) Não, Rollback para o nodo não atualizado (apontar para o Blue Node novamente)

E como faço como  o banco de dados?

Você pode fazer a mesma coisa com replicação de schema, ou um scritp de rollback do schema!

Leia mais em:

http://martinfowler.com/bliki/BlueGreenDeployment.html

Anúncios

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: