Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Real world continuous delivery

2 602 vues

Publié le

In this session, I look at the challenges that real companies face when trying to adopt the good practices that fall under the banner of Continuous Delivery. To do this, we’ll start by extracting the core concepts described in the book Continuous Delivery by Jez Humble and Dave Farley, and look at how these map to the practices of typical organisations today.

We’ll dig deep into the relationship between Agile and Continuous Delivery, how DevOps and infrastructure-as-code fit into the delivery process, and its impact on software development practices, especially version control.

Publié dans : Technologie

Real world continuous delivery

  1. 1. Real  world  con,nuous  delivery Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Seb  Rose
  2. 2. @sebrose                                                                                                                                                                                                              h+p://cucumber.io
  3. 3. @sebrose                                                                                                                                                                                                              h+p://cucumber.io con5nuous  :   -­‐  forming  an  unbroken  whole     -­‐  without  interrup5on   discrete  :   -­‐  individually  separate  and  dis5nct
  4. 4. @sebrose                                                                                                                                                                                                              h+p://cucumber.io delivery  :   -­‐  the  ac5on  of  delivering  goods     -­‐  the  process  of  giving  birth
  5. 5. @sebrose                                                                                                                                                                                                              h+p://cucumber.io con5nuous  delivery  :   -­‐ a  set  of  prac5ces  and  principles   aimed  at,  building,  tes5ng,  and   releasing  soBware,  faster  and   more  frequently   -­‐ this  principle  helps  reduce  the   cost,  5me  and  risk  of  delivering   incremental  changes  to  users.
  6. 6. @sebrose                                                                                                                                                                                                              h+p://cucumber.io con5nuous  integra5on  :   -­‐ a  development  prac5ce  that   requires  developers  to  integrate   code  into  a  shared  repository   several  5mes  a  day   -­‐ each  check-­‐in  is  verified  by  an   automated  build,  allowing  teams   to  detect  problems  early
  7. 7. @sebrose                                                                                                                                                                                                              h+p://cucumber.io con5nuous  deployment  :   -­‐ the  next  step  of  con5nuous   delivery   -­‐ every  change  that  passes  the   automated  tests  is  deployed  to   produc5on  automa5cally
  8. 8. @sebrose                                                                                                                                                                                                              h+p://cucumber.io audience  calisthenics
  9. 9. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Con5nuous  integra5on h+p://www.jamesshore.com/Blog/Con5nuous-­‐Integra5on-­‐on-­‐a-­‐Dollar-­‐a-­‐Day.html
  10. 10. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Automated  deployment h+p://www.moltecinterna5onal.com/images/robots.jpg and  rollback!
  11. 11. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Artefact  repository h+p://3.bp.blogspot.com/-­‐BkxV4lCQzDw/U96FMUNIDAI/AAAAAAAAK_s/GMmneXG5FG4/ s1600/RoleOfAR.png
  12. 12. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Fidelity  vs.  feedback h+p://3.bp.blogspot.com/-­‐BkxV4lCQzDw/U96FMUNIDAI/AAAAAAAAK_s/GMmneXG5FG4/ s1600/RoleOfAR.png More production-like Slower feedback
  13. 13. @sebrose                                                                                                                                                                                                              h+p://cucumber.io h+ps://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Devops.svg/2000px-­‐ Devops.svg.png Collabora5on
  14. 14. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Conway  slaw  :   -­‐ a  popular  dish  of  shredded   cause  and  effect  mixed   with  a  dash  of  sociology
  15. 15. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Branching -­‐ Feature  branching   -­‐ GitFlow   -­‐ CoDe:U  Git  Flow   -­‐ Trunk-­‐based  development   -­‐ Release  branching
  16. 16. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Branching  strategies h+p://nvie.com/img/git-­‐model@2x.png h+p://www.praqma.com/sites/default/files/img/git_flow_web.pdf
  17. 17. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Trunk-­‐based  development h+p://paulhammant.com/images/mainline_vs_trunk.png
  18. 18. @sebrose                                                                                                                                                                                                              h+p://cucumber.io h+ps://youtu.be/30yN4hefrt0 Branching  strategies
  19. 19. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Tes5ng  pyramid h+p://claysnow.co.uk/architectural-­‐alignment-­‐and-­‐test-­‐induced-­‐design-­‐damage-­‐fallacy/
  20. 20. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Acceptance  tes5ng
  21. 21. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Smoke  tests h+p://www.seminolecountyfl.gov/core/fileparse.php/3283/urlt/smoke-­‐20test-­‐20image-­‐20.jpg
  22. 22. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Non-­‐func5onal  tests h+ps://www.cloudave.com/wp-­‐content/uploads/2014/12/Typhoon.jpg
  23. 23. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Manual  /  exploratory
  24. 24. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Test  data h+p://discovermagazine.com/~/media/Images/Issues/2013/December/dragon-­‐science.jpg
  25. 25. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Monitoring  produc5on h+p://blogs-­‐images.forbes.com/kashmirhill/files/2014/04/foscam.jpg
  26. 26. @sebrose                                                                                                                                                                                                              h+p://cucumber.io <digression>
  27. 27. @sebrose                                                                                                                                                                                                              h+p://cucumber.io
  28. 28. @sebrose                                                                                                                                                                                                              h+p://cucumber.io
  29. 29. @sebrose                                                                                                                                                                                                              h+p://cucumber.io
  30. 30. @sebrose                                                                                                                                                                                                              h+p://cucumber.io h+p://quoteinves5gator.com/2012/04/28/shorter-­‐le+er/ “I  would  have  wri/en  a   shorter  le/er,  but  I  didn’t   have  the  6me”
  31. 31. @sebrose                                                                                                                                                                                                              h+p://cucumber.io https://estimation.lunarlogic.io/assets/cards-range-8fc41b2e3fd282125f4602a712020204.png
  32. 32. @sebrose                                                                                                                                                                                                              h+p://cucumber.io <digression>
  33. 33. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Gradual  implementa5on
  34. 34. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Feature  toggles h+p://ff4j.org/images/console-­‐embedded.png
  35. 35. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Branch  by  abstrac5on h+p://con5nuousdelivery.com/wp-­‐content/uploads/2011/05/branch_by_abstrac5on.png
  36. 36. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Databases h+p://discovermagazine.com/~/media/Images/Issues/2013/December/dragon-­‐science.jpg
  37. 37. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Risk  mi5ga5on -­‐ Blue/green   -­‐ Canary   -­‐ Monitoring
  38. 38. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Produc5on  like??? h+p://tommcfarlin.com/wp-­‐content/uploads/2014/04/what-­‐does-­‐it-­‐mean.png
  39. 39. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Harmonisa5on homogeneous  :   -­‐ uniform  in  structure  or   composi5on  throughout
  40. 40. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Virtualisa5on  and   Containers h+p://www.informa5on-­‐age.com/sites/default/files/styles/ ar5cle_landscape/public/field/image/shu+erstock_135831281.jpg? itok=PArqfHMC h+p://www.adm-­‐compu5ng.co.uk/wp-­‐content/uploads/ 2013/06/Virtualisa5on-­‐defined.jpg
  41. 41. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Service  virtualisa5on h+p://servicevirtualiza5on.com/blogs/1-­‐1000/910-­‐Screenshot20130520at10.38.46AM.png
  42. 42. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Cost h+p://i.dailymail.co.uk/i/pix/2009/05/13/ ar5cle-­‐1181248-­‐03A99ECD000005DC-­‐78_634x393.jpg
  43. 43. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Taming  complexity h+p://boilingfrogs.info/files/2012/05/complexity.jpg
  44. 44. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Loose  coupling h+ps://infomgmt.files.wordpress.com/2010/02/coupling-­‐sketches-­‐cropped-­‐1.png
  45. 45. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Components h+p://zoszkoworks.com/wp-­‐content/uploads/2015/01/821-­‐electronic-­‐ components-­‐1920x1080-­‐photography-­‐wallpaper.jpg
  46. 46. @sebrose                                                                                                                                                                                                              h+p://cucumber.io h+p://www.slideshare.net/StefSmith/wading-­‐through-­‐treacle-­‐escape-­‐the-­‐integra5on-­‐syrup-­‐ with-­‐contract-­‐tests CDCs  in  the  pipeline
  47. 47. @sebrose                                                                                                                                                                                                              h+p://cucumber.io h+p://mar5nfowler.com/ar5cles/ConsumerDrivenContracts.jpg CDCs  (aka  contract  tests)
  48. 48. @sebrose                                                                                                                                                                                                              h+p://cucumber.io Contract/collabora5on h+p://www.slideshare.net/nitroduna/behaviour-­‐driven-­‐refactoring-­‐or-­‐im-­‐a-­‐programmer-­‐what-­‐ the-­‐hell-­‐do-­‐i-­‐have-­‐to-­‐test
  49. 49. @sebrose                                                                                                                                                                                                              h+p://cucumber.io -­‐ teams  own  whole  stack   -­‐ in-­‐house  tools   -­‐ build,  deploy,  monitor
  50. 50. @sebrose                                                                                                                                                                                                              h+p://cucumber.io -­‐ teams  own  whole  stack   -­‐ feature  &  data  toggles   -­‐ con5nuous  deployment   -­‐ pioneering  MDD h+ps://youtu.be/bZNzu4UxzPU h+p://agileonthebeach.com/wp-­‐content/uploads/2015/02/Benji-­‐Webber.pdf
  51. 51. @sebrose                                                                                                                                                                                                              h+p://cucumber.io -­‐ using  CDCs  within  pipeline h+p://www.slideshare.net/StefSmith/wading-­‐through-­‐treacle-­‐escape-­‐the-­‐integra5on-­‐syrup-­‐ with-­‐contract-­‐tests
  52. 52. @sebrose                                                                                                                                                                                                              h+p://cucumber.io h+p://agilecambridge.net/2015/sessions/index.php?session=69 A  meta-­‐pipeline  for  genera5ng   con5nuous  delivery  pipelines  for   micro  services
  53. 53. @sebrose                                                                                                                                                                                                              h+p://cucumber.io
  54. 54. @sebrose                                                                                                                                                                                                              h+p://cucumber.io http://image.slidesharecdn.com/userstorymappinginpractice-130802183649-phpapp02/95/user-story- mapping-in-practice-15-638.jpg?cb=1382432108
  55. 55. Seb  Rose   
 Twi+er:     @sebrose   Blog:       www.claysnow.co.uk   E-­‐mail:     seb@cucumber.io Ques5ons?
  56. 56. @sebrose                                                                                                                                                                                                              h+p://cucumber.io CoDe:U  h+p://www.praqma.com/sites/default/files/img/git_flow_web.pdf  

×