O slideshow foi denunciado.
Continuous Delivery“Entrega Contínua”            Marco Valtas (@mavcunha)                 ThoughtWorksFeedback e perguntas...
Pesquisa Rápida  Qual é a sua   profissão?  Desenvolvedor?  Gerente de Projeto?  Administrador de BD?  Analista de Qualida...
Pesquisa Rápida      Qual é o tamanho da sua     empresa?    Alguns (entre trinta)    De respeito (mais de cem)    Grande ...
Pesquisa Rápida       Quantosdias p/ funcionalidade entrar em produção?    Alguns (entre trinta)    De respeito (mais de c...
Pesquisa Rápida         "How long would it take    your organization to deploy a  change that involves just one singleline...
SoftwareDesenvolvedor                           Usuário
SoftwareDesenvolvedor                           Usuário
Software                  VersionDesenvolvedores   Control                             Usuário
Software                  Version   ContinuousDesenvolvedores   Control   Integration                                     ...
Software                             Version     ContinuousDesenvolvedores              Control     Integration           ...
Software                             Version     ContinuousDesenvolvedores              Control     Integration           ...
Software                             Version     ContinuousDesenvolvedores              Control     Integration           ...
Software                             Version     Continuous                                                               ...
Entrega Contínua                                          Testes deIdéia   Planejamento   Dev   Integração               I...
Entrega Contínua                                                  Testes de        Idéia   Planejamento   Dev   Integração...
Entrega Contínua                                              Testes deIdéia   Planejamento   Dev      Integração         ...
Entrega Contínua                                                 Testes deIdéia   Planejamento   Dev      Integração      ...
Entrega Contínua                                                 Testes deIdéia   Planejamento   Dev      Integração      ...
Dicotomia                  Diretoria de T.I.       Mais Rápido!                   Mais Estável!Desenvolvimento            ...
É Possível?
É Possível?  Feedback      eAutomatização
É Possível?(18/08/2011) http://code.flickr.com
Testes, testes, testesAceitaçãoIntegraçãoUnitários
Testes, testes, testesAceitaçãoIntegraçãoUnitários             Quantidade
Testes, testes, testes                          CustoAceitaçãoIntegraçãoUnitários             Quantidade
Testes, testes, testes                          CustoAceitaçãoIntegraçãoUnitários             Quantidade           Velocid...
Testes, testes, testes                          Custo         ComplexidadeAceitaçãoIntegraçãoUnitários             Quantid...
ão        Testes, testes, testes itaç            Unitários       Unitários    UnitáriosAce                     Integração ...
Integração ContínuaDesenvolvedor                   Controle                                de Versão                     C...
Controle de Versão          http://derekring.blogspot.com/2010/09/back-to-future-is-now-available.html
Controle de Versão           Release Branch
Controle de Versão              Feature Branch
Controle de Versão              Feature Branch              Release Branch
Controle de Versão              Feature Branch                  OUCH!              Release Branch
Controle de Versão              Feature Branch                  OUCH!              Release Branch
Controle de Versão       No Branch / Experimental Branch   Todos fazem check in na linha     principal (trunk / head)
Branch por Abstração                    BibliotecaAplicação
Branch por Abstração                    BibliotecaAplicação                    Biblioteca
Branch por Abstração                         BibliotecaAplicação   Interface   Implementa                         Biblioteca
Branch por Abstração                         BibliotecaAplicação   Interface   Implementa                         Biblioteca
Branch por Abstração                         BibliotecaAplicação   Interface   Implementa                         Biblioteca
Branch por Abstração                         BibliotecaAplicação   Interface   Implementa                         Biblioteca
Branch por AbstraçãoAplicação   Interface   Implementa                         Biblioteca
Branch por AbstraçãoAplicação                    Biblioteca
Flags deFuncionalidadecoolNewTheme = false
Flags deFuncionalidadecoolNewTheme =   true
Banco de Dados           http://xkcd.com/327/
Banco de Dados      •Sempre um case “especial”      •Dados são Persistentes      •Rollback é doloroso      •Pouca Colabora...
Banco de Dados                       Controle                       de Versão             Deltas          •dbdeployEstado ...
Banco de Dados      •Refatoração      •Mudanças no BD comunicadas      aos DBA’s pelo I.C.      •Pratique os deploys      ...
Implantação         http://xkcd.com/918/
Verde - Azul          Web    App    DBRouter
Verde - Azul          Web     App     DB          v 1.1   v 1.1   v 1.1Router
Verde - Azul          Web     App     DB          v 1.1   v 1.1   v 1.1Router          v 2.0   v 2.0   v 2.0
Dark Launching
Dark LaunchingUI        Aplicação            Nova        Funcionalidade
Canary Release
Canary ReleaseRouter
Canary ReleaseRouter
ProvisionamentoSysadmin
ProvisionamentoSysadmin
Provisionamento                      Puppet!Sysadminhttp://www.puppetlabs.com/
Princípios•Crie um processo repetível e confiável para a entrega de software.•Automatize tudo o que for possível.•Pessoas d...
ObrigadoMarco Valtas (@mavcunha)     ThoughtWorks
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Continuous delivery
Próximos SlideShares
Carregando em…5
×

Continuous delivery

2.242 visualizações

Publicada em

Presentation given on Agile Vale 2011 about Continuous Delivery.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Continuous delivery

  1. 1. Continuous Delivery“Entrega Contínua” Marco Valtas (@mavcunha) ThoughtWorksFeedback e perguntas: #agilevale #cd Material Inspirado nas apresentações de Jez Humble e Tim Brown
  2. 2. Pesquisa Rápida Qual é a sua profissão? Desenvolvedor? Gerente de Projeto? Administrador de BD? Analista de Qualidade? Analista de Produto?
  3. 3. Pesquisa Rápida Qual é o tamanho da sua empresa? Alguns (entre trinta) De respeito (mais de cem) Grande (mais de quinhentos) A perder de vista (dez
  4. 4. Pesquisa Rápida Quantosdias p/ funcionalidade entrar em produção? Alguns (entre trinta) De respeito (mais de cem) Grande (mais de quinhentos) A perder de vista (dez
  5. 5. Pesquisa Rápida "How long would it take your organization to deploy a change that involves just one singleline of code? Do you do this on a repeatable, reliable basis?" Mary & Tom Poppendieck - Implement Lean Software Development.
  6. 6. SoftwareDesenvolvedor Usuário
  7. 7. SoftwareDesenvolvedor Usuário
  8. 8. Software VersionDesenvolvedores Control Usuário
  9. 9. Software Version ContinuousDesenvolvedores Control Integration Usuário
  10. 10. Software Version ContinuousDesenvolvedores Control Integration Preview Analista Novas funcionalidades Usuário
  11. 11. Software Version ContinuousDesenvolvedores Control Integration Preview Qualidade Analista Novas funcionalidades Usuário
  12. 12. Software Version ContinuousDesenvolvedores Control Integration Sys Admin Preview Qualidade Analista Novas funcionalidades Usuário
  13. 13. Software Version Continuous DBADesenvolvedores Control Integration Sys Admin Preview Qualidade Analista Novas funcionalidades Usuário
  14. 14. Entrega Contínua Testes deIdéia Planejamento Dev Integração Implantação Release
  15. 15. Entrega Contínua Testes de Idéia Planejamento Dev Integração Implantação Release a loV r e raE sp
  16. 16. Entrega Contínua Testes deIdéia Planejamento Dev Integração Implantação Release Agile Movement
  17. 17. Entrega Contínua Testes deIdéia Planejamento Dev Integração Implantação Release Agile Movement DevOps Movement
  18. 18. Entrega Contínua Testes deIdéia Planejamento Dev Integração Implantação Release Agile Movement DevOps Movement Continuous Delivery
  19. 19. Dicotomia Diretoria de T.I. Mais Rápido! Mais Estável!Desenvolvimento Operações
  20. 20. É Possível?
  21. 21. É Possível? Feedback eAutomatização
  22. 22. É Possível?(18/08/2011) http://code.flickr.com
  23. 23. Testes, testes, testesAceitaçãoIntegraçãoUnitários
  24. 24. Testes, testes, testesAceitaçãoIntegraçãoUnitários Quantidade
  25. 25. Testes, testes, testes CustoAceitaçãoIntegraçãoUnitários Quantidade
  26. 26. Testes, testes, testes CustoAceitaçãoIntegraçãoUnitários Quantidade Velocidade
  27. 27. Testes, testes, testes Custo ComplexidadeAceitaçãoIntegraçãoUnitários Quantidade Velocidade
  28. 28. ão Testes, testes, testes itaç Unitários Unitários UnitáriosAce Integração Integração80% de coberturapor tipo de teste.
  29. 29. Integração ContínuaDesenvolvedor Controle de Versão Check In Artefatos (Binários) são um potencial release Mudança Detectada Feedback Repositório de artefatos Integração Contínua
  30. 30. Controle de Versão http://derekring.blogspot.com/2010/09/back-to-future-is-now-available.html
  31. 31. Controle de Versão Release Branch
  32. 32. Controle de Versão Feature Branch
  33. 33. Controle de Versão Feature Branch Release Branch
  34. 34. Controle de Versão Feature Branch OUCH! Release Branch
  35. 35. Controle de Versão Feature Branch OUCH! Release Branch
  36. 36. Controle de Versão No Branch / Experimental Branch Todos fazem check in na linha principal (trunk / head)
  37. 37. Branch por Abstração BibliotecaAplicação
  38. 38. Branch por Abstração BibliotecaAplicação Biblioteca
  39. 39. Branch por Abstração BibliotecaAplicação Interface Implementa Biblioteca
  40. 40. Branch por Abstração BibliotecaAplicação Interface Implementa Biblioteca
  41. 41. Branch por Abstração BibliotecaAplicação Interface Implementa Biblioteca
  42. 42. Branch por Abstração BibliotecaAplicação Interface Implementa Biblioteca
  43. 43. Branch por AbstraçãoAplicação Interface Implementa Biblioteca
  44. 44. Branch por AbstraçãoAplicação Biblioteca
  45. 45. Flags deFuncionalidadecoolNewTheme = false
  46. 46. Flags deFuncionalidadecoolNewTheme = true
  47. 47. Banco de Dados http://xkcd.com/327/
  48. 48. Banco de Dados •Sempre um case “especial” •Dados são Persistentes •Rollback é doloroso •Pouca Colaboração
  49. 49. Banco de Dados Controle de Versão Deltas •dbdeployEstado •LiquiBase EstadoInicial Final
  50. 50. Banco de Dados •Refatoração •Mudanças no BD comunicadas aos DBA’s pelo I.C. •Pratique os deploys •Evite mudanças manuais
  51. 51. Implantação http://xkcd.com/918/
  52. 52. Verde - Azul Web App DBRouter
  53. 53. Verde - Azul Web App DB v 1.1 v 1.1 v 1.1Router
  54. 54. Verde - Azul Web App DB v 1.1 v 1.1 v 1.1Router v 2.0 v 2.0 v 2.0
  55. 55. Dark Launching
  56. 56. Dark LaunchingUI Aplicação Nova Funcionalidade
  57. 57. Canary Release
  58. 58. Canary ReleaseRouter
  59. 59. Canary ReleaseRouter
  60. 60. ProvisionamentoSysadmin
  61. 61. ProvisionamentoSysadmin
  62. 62. Provisionamento Puppet!Sysadminhttp://www.puppetlabs.com/
  63. 63. Princípios•Crie um processo repetível e confiável para a entrega de software.•Automatize tudo o que for possível.•Pessoas devem se ocupar com tarefas de alto valor.•Todos os envolvidos estão envolvidos (DBA’s, SysAdmins...).•Tudo no controle de versão.•Todos são responsáveis pela entrega.
  64. 64. ObrigadoMarco Valtas (@mavcunha) ThoughtWorks

×