blue green deploy: entrega continua e rollback imediato - qcon rio / 2014
DESCRIPTION
Já imaginou poder fazer um deploy, testar sua nova versão da aplicação em produção e depois só "girar uma chave" para colocar essa nova versão no ar ? E mais, já pensou se pudesse girar essa chave novamente e voltar para a versão anterior ? Sim, é possível... Nessa palestra você vai conhecer a técnica de Blue Green Deployment :) Palestra na QCon Rio em 25/Setembro/2014 --- Resumo: Apresentar o conceito, falar sobre a vantagem e desvantagens, mostrar exemplos e casos de uso sobre Deploy Continuo (Blue Green Deployment).TRANSCRIPT
BLUEGREENDeployment
Rafael Biriba
Blue Green Deployment :: Rafael Biriba
sexta feira, 18hs
“Preciso subir essa nova versão agora!”
Seu chefe vem e ...
Blue Green Deployment :: Rafael Biriba
Deploy agora? Tem certeza?
Reação
Blue Green Deployment :: Rafael Biriba
Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
O projeto é testado somente local?Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Esse ambiente é diferente de produção ?Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Backup é manual ?Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Os arquivos são copiados via FTP?Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
O código não possui testes automatizados?
Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
O deploy é feito por uma outra equipe (ex: operação)?
Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
O sistema ficará indisponível durante o deploy ?
Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
O código não possui controle de versão ?Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
O projeto é testado somente local?Esse ambiente é diferente de produção ?
Backup é manual ?Os arquivos são copiados via FTP?
O código não possui testes automatizados?O deploy é por uma outra equipe
(ex: operação)?O sistema ficará indisponível durante o
deploy?O código não possui controle de versão ?
Descascando o abacaxi...
Blue Green Deployment :: Rafael Biriba
O projeto é testado somente local?Esse ambiente é diferente de produção ?
Backup é manual ?Os arquivos são copiados via FTP?
O código não possui testes automatizados?O deploy é por uma outra equipe
(ex: operação)?O sistema ficará indisponível durante o
deploy?O código não possui controle de versão ?
Descascando o abacaxi...
SIM
Blue Green Deployment :: Rafael Biriba
SIM
E agora ??
Blue Green Deployment :: Rafael Biriba
Testei em QA (homologação)!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Meu ambiente é “igualzinho” a PROD!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Meu backup é automático!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
As mudanças estão versionadas no git!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Minha cobertura de testes é de 100%!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Eu mesmo faço o deploy!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Meu deploy é automatizado!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
As mudanças estão versionadas no git!Meu backup é automático!
Minha cobertura de testes é de 100%!
Testei em QA (homologação)!Meu ambiente é “igualzinho” a PROD!
Eu mesmo faço o deploy!Meu deploy é automatizado!
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Analisando o abacaxi...
Blue Green Deployment :: Rafael Biriba
Vamos fazer o deploy!Eu garanto!
Decisão...
Blue Green Deployment :: Rafael Biriba
Resultado...
Blue Green Deployment :: Rafael Biriba
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
minha-app
current
releases a
b
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
minha-app
current
releases
a
b
c
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
minha-app
current
releases
a
b
c
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
minha-app
current
releases b
c
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
Como foi o deploy...
Blue Green Deployment :: Rafael Biriba
Resultado...
Blue Green Deployment :: Rafael Biriba
“Meu site está fora ar!Meus clientes estão me ligando!”
Seu chefe vem e ...
Blue Green Deployment :: Rafael Biriba
Rollback
Blue Green Deployment :: Rafael Biriba
Rolling back...
Blue Green Deployment :: Rafael Biriba
minha-app
current
releases
b
c
d
Rolling back...
Blue Green Deployment :: Rafael Biriba
Rolling back...
Blue Green Deployment :: Rafael Biriba
minha-app
current
releases
b
c
d
Rolling back...
Blue Green Deployment :: Rafael Biriba
minha-app
current
releases c
d
Rolling back...
Blue Green Deployment :: Rafael Biriba
meta comprometida
abatimento
pressão desconfiança
desânimo
Medo
Consequências...
stress
Blue Green Deployment :: Rafael Biriba
Suporte x Dev
Blue Green Deployment :: Rafael Biriba
Suporte x Dev
Blue Green Deployment :: Rafael Biriba
Como resolver ?
Blue Green Deployment :: Rafael Biriba
Solução...
BLUEGREENDeployment
Blue Green Deployment :: Rafael Biriba
O conceito...
Fonte: http://www.sunitparekh.in/2013/10/blue-green-deployment.html
Blue Green Deployment :: Rafael Biriba
O conceito...
Blue Green Deployment :: Rafael Biriba
O conceito...
Blue Green Deployment :: Rafael Biriba
O conceito...
Blue Green Deployment :: Rafael Biriba
O conceito...
Blue Green Deployment :: Rafael Biriba
O conceito...
Blue Green Deployment :: Rafael Biriba
Benefícios...
No Downtime
Blue Green Deployment :: Rafael Biriba
Na Globo.com
https://github.com/rafaelbiriba/cap_blue_green_deploy
Blue Green Deployment :: Rafael Biriba
Na Globo.com
current
current-live
server203
globotv.globo.com
blue.globotv.globo.com
acesso interno
acesso externo
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
a
b
current-live
live-rollback
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
a
b
current-live
live-rollback
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
a
b
current-live
live-rollback
Blue Green Deployment :: Rafael Biriba
Na Globo.com
cap deploy:blue_green:pre
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
a
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
a
Blue Green Deployment :: Rafael Biriba
Na Globo.com
Blue Green Deployment :: Rafael Biriba
Na Globo.com
cap deploy:blue_green:live
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
a
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
a
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
a
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
Blue Green Deployment :: Rafael Biriba
sexta feira, 18:30hs
“Gostei muito da versão nova. Obrigado por ficar até mais tarde.”
Seu chefe vem e ...
Blue Green Deployment :: Rafael Biriba
Na Globo.com
Blue Green Deployment :: Rafael Biriba
Na Globo.com
Blue Green Deployment :: Rafael Biriba
Na Globo.com
cap deploy:blue_green:rollback
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
Blue Green Deployment :: Rafael Biriba
Na Globo.com
globotv
current
releases
b
c
current-live
live-rollback
Blue Green Deployment :: Rafael Biriba
Na Globo.com
Blue Green Deployment :: Rafael Biriba
Observações
Blue/Green não é ambiente de teste
Blue Green Deployment :: Rafael Biriba
Na Globo.com
https://github.com/rafaelbiriba/cap_blue_green_deploy
Blue Green Deployment :: Rafael Biriba
Duvidas ?
Desenvolvedor desde 2008 na área de webmedia (vídeos)
Saiba mais:
‣ [email protected]‣ rafaelbiriba.com‣ github.com/rafaelbiriba
‣ slideshare.net/rafaelbiriba
Obrigado!
Estamos contratando: http://talentos.globo.com
Rafael Biriba
‣‣