O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Continuous 
Delivery 
Através dos seus 8 princípios
Quem somos 
Flávio Costa 
flcosta@microsoft.com 
Carlos Felippe Cardoso 
(CFC) 
cfc@k21.com.br
Mas o que é? 
"Nossa maior prioridade é satisfazer o cliente 
através da entrega contínua e adiantada de 
software com val...
Mas o que é? 
"Continuous Delivery is a software 
development discipline where you build 
software in such a way that the ...
Dev + Ops = DevOps! 
“DevOps is much of the ‘how’ of achieving 
continuous delivery,” 
Jez Humble
Isso serve para você?
Contexto 
O time, o projeto e o trabalho
Contexto 
Projeto: 
Sistema de Gestão Acadêmica 
Time: 
Mescla de Bolsistas e Funcionários 
Multidisciplinar – Dev / DB / ...
Treinamento 
"Vamos jogar nosso servidor de produção pela janela?" 
"Quanto tempo para colocar o sistema novamente no ar?"...
Automação! 
Começamos a perceber que podíamos automatizar 
muitas coisas! 
“Computers are designed to do simple repetitive...
Nossa situação
Nossa situação 
O que já tínhamos automatizado? 
Integração Contínua funcionando! 
Parque com milhares de testes automatiz...
Um de nossos projetos no Jenkins 
2500+ testes
Nossa situação 
E o que faltava? 
Negócio fatiando bem as entregas 
Provisionamento de Servers e Workstations 
Deploy! 
Mo...
O gatilho 
Ou quando começamos a tentar automatizar tudo!
Servidores ficaram sem garantia!
Novos servidores comprados!
Novos servidores comprados! 
E agora? 
Configurar todos servidores na mão?
E agora, o que fazemos?
E agora, o que fazemos? 
“If it hurts, do it more often and bring the pain forward” 
Martin Fowler - Continuous Integratio...
Nosso quadro Kanban 
Notem a quantidade de Post Its na raias de Ready, 
Testes Exploratórios e Pronto para Produção
Mãos à obra! 
O que fizemos?
O que fizemos? 
Construir o binário somente uma vez! 
E utilizá-lo em todos os lugares! 
Testes de aceitação automatizados...
O que fizemos? 
Automatizar o provisionamento & configuração! 
Servidores 
Workstations
O que fizemos? 
Monitoramento & Dashboards 
Reação mais rápida a problemas 
Maior visibilidade!
Jenkins Dashboard
Jenkins Dashboard 
Nem sempre está verde! =(
O que fizemos? 
Deploy " tão" simples quanto o apertar de um botão 
Recentemente deploy para homologação ficou automático!...
O que fizemos? 
Entregar valor com frequência! 
“Feito é melhor que perfeito” 
Sheryl Sandberg, COO @ Facebook
Olhando para trás 
Uma rápida retrospectiva
Olhando para trás 
Um link para um artigo no DZone 
8 Principles of Continuous Delivery (2011!!!) 
Resolvemos fazer uma rá...
8 princípios do CD 
O processo de liberar/deployar software DEVE ser 
reproduzível e confiável 
Automatize tudo! 
Se algum...
8 princípios do CD 
Pronto significa “Em produção” 
Build quality in! 
Todos são responsáveis pelo processo de 
release 
M...
Objetivos 
alcançados 
Ou aonde esse trabalho nos levou…
Objetivos alcançados 
Entrega de valor cada vez mais rápida e mais simples 
Todos da equipe podem fazer deploy 
Alta confi...
O que ainda dá para melhorar 
Versionamento do Banco de Dados 
Visualização do Estágio de Build 
(Jenkins pipeline plugin)...
Jenkins Pipeline Plugin
O que ainda dá para melhorar 
Versionamento do Banco de Dados 
Visualização do Estágio de Build 
(Jenkins pipeline plugin)...
Dia D 
Inscrição 
Expectativa 
3000+ usuários simultâneos 
Deploy durante horário pico, 0 downtime, 100% confiança
O futuro 
Aonde queremos chegar?
Aonde queremos chegar?
Perguntas?
Obrigado!
Próximos SlideShares
Carregando em…5
×

Implantando continuous delivery e seus oito principios

1.242 visualizações

Publicada em

Palestra no Scrum Gathering Rio de Janeiro 2014 - apresentado por Carlos Felippe Cardoso e Flavio Coutinho da Costa

Publicada em: Software
  • Seja o primeiro a comentar

Implantando continuous delivery e seus oito principios

  1. 1. Continuous Delivery Através dos seus 8 princípios
  2. 2. Quem somos Flávio Costa flcosta@microsoft.com Carlos Felippe Cardoso (CFC) cfc@k21.com.br
  3. 3. Mas o que é? "Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado." 1º princípio do Manifesto Ágil
  4. 4. Mas o que é? "Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time." Martin Fowler
  5. 5. Dev + Ops = DevOps! “DevOps is much of the ‘how’ of achieving continuous delivery,” Jez Humble
  6. 6. Isso serve para você?
  7. 7. Contexto O time, o projeto e o trabalho
  8. 8. Contexto Projeto: Sistema de Gestão Acadêmica Time: Mescla de Bolsistas e Funcionários Multidisciplinar – Dev / DB / Test / Ops Parte técnica: Java EE + JBoss , Linux , MS SQL Server
  9. 9. Treinamento "Vamos jogar nosso servidor de produção pela janela?" "Quanto tempo para colocar o sistema novamente no ar?" "ContinuousDelivery for DevOps" Jez Humble / Agosto - 2011 Rio de Janeiro
  10. 10. Automação! Começamos a perceber que podíamos automatizar muitas coisas! “Computers are designed to do simple repetitive tasks. The second you have humans doing repetitive tasks, all the computers get together late at night and laugh at you” “… Every time you do something for the third time, automate it. You’ll be doing it a million times…” Neal Ford
  11. 11. Nossa situação
  12. 12. Nossa situação O que já tínhamos automatizado? Integração Contínua funcionando! Parque com milhares de testes automatizados
  13. 13. Um de nossos projetos no Jenkins 2500+ testes
  14. 14. Nossa situação E o que faltava? Negócio fatiando bem as entregas Provisionamento de Servers e Workstations Deploy! Monitoramento
  15. 15. O gatilho Ou quando começamos a tentar automatizar tudo!
  16. 16. Servidores ficaram sem garantia!
  17. 17. Novos servidores comprados!
  18. 18. Novos servidores comprados! E agora? Configurar todos servidores na mão?
  19. 19. E agora, o que fazemos?
  20. 20. E agora, o que fazemos? “If it hurts, do it more often and bring the pain forward” Martin Fowler - Continuous Integration
  21. 21. Nosso quadro Kanban Notem a quantidade de Post Its na raias de Ready, Testes Exploratórios e Pronto para Produção
  22. 22. Mãos à obra! O que fizemos?
  23. 23. O que fizemos? Construir o binário somente uma vez! E utilizá-lo em todos os lugares! Testes de aceitação automatizados Testes manuais exploratórios Homologação Produção Jenkins
  24. 24. O que fizemos? Automatizar o provisionamento & configuração! Servidores Workstations
  25. 25. O que fizemos? Monitoramento & Dashboards Reação mais rápida a problemas Maior visibilidade!
  26. 26. Jenkins Dashboard
  27. 27. Jenkins Dashboard Nem sempre está verde! =(
  28. 28. O que fizemos? Deploy " tão" simples quanto o apertar de um botão Recentemente deploy para homologação ficou automático! Fabric
  29. 29. O que fizemos? Entregar valor com frequência! “Feito é melhor que perfeito” Sheryl Sandberg, COO @ Facebook
  30. 30. Olhando para trás Uma rápida retrospectiva
  31. 31. Olhando para trás Um link para um artigo no DZone 8 Principles of Continuous Delivery (2011!!!) Resolvemos fazer uma rápida retrospectiva Em qual estágio estávamos?
  32. 32. 8 princípios do CD O processo de liberar/deployar software DEVE ser reproduzível e confiável Automatize tudo! Se alguma coisa for difícil de fazer ou dolorosa, faça-a com mais frequência Coloque tudo no controle de versão
  33. 33. 8 princípios do CD Pronto significa “Em produção” Build quality in! Todos são responsáveis pelo processo de release Melhoria contínua
  34. 34. Objetivos alcançados Ou aonde esse trabalho nos levou…
  35. 35. Objetivos alcançados Entrega de valor cada vez mais rápida e mais simples Todos da equipe podem fazer deploy Alta confiança Tempo livre para fazer coisas mais produtivas :)
  36. 36. O que ainda dá para melhorar Versionamento do Banco de Dados Visualização do Estágio de Build (Jenkins pipeline plugin) Volta de uma versão (rollback) é manual Monitoramento dos logs
  37. 37. Jenkins Pipeline Plugin
  38. 38. O que ainda dá para melhorar Versionamento do Banco de Dados Visualização do Estágio de Build (Jenkins pipeline plugin) Volta de uma versão (rollback) é manual Monitoramento dos logs
  39. 39. Dia D Inscrição Expectativa 3000+ usuários simultâneos Deploy durante horário pico, 0 downtime, 100% confiança
  40. 40. O futuro Aonde queremos chegar?
  41. 41. Aonde queremos chegar?
  42. 42. Perguntas?
  43. 43. Obrigado!

×