continuous delivery                           @jezhumble                           Berlin, 4 october 2012                 ...
agile 101                                      "Agile" team                                   Analysis + Design         Ce...
social                 disrupting traditional businesses                                                 http://code.flick...
releasing frequently                 1. build the right thing                                                         Cust...
innovate                           You cant just ask                             customers what                         th...
scientific method                                                             Ideas                 create hypothesis     ...
ask this question        “How long would it take your        organization to deploy a change that        involved just one...
releasing frequently                 1. build the right thing                 2. reduce risk of release                   ...
optimize for mtrsTuesday, October 9, 12
optimize for mtrs                            MTBF                                                  MTRS                   ...
releasing frequently                 1. build the right thing                 2. reduce risk of release                 3....
agile manifesto                 Our highest priority is to satisfy                 the customer through early and         ...
production-ready software                 Fast, automated feedback on                 the production readiness of         ...
continuous delivery                 Software always production ready                 Releases tied to business needs, not ...
continuous delivery                 automation                 patterns and practices                 collaborationTuesday...
ingredients                 configuration management                 continuous integration                 automated test...
Local               Develop                           Workstation                                            Mainline Serv...
Local               Develop                           Workstation                Everyone Commits                         ...
build quality in                              “Cease dependence on                              mass inspection to        ...
different kinds of testing                                                                  Business facing                ...
deployment pipeline                 an automated implementation of your                 system’s build, deploy, test, rele...
deployment pipeline                         Delivery team         Version control              Build & unit           Auto...
deployment pipelineTuesday, October 9, 12
deployment pipelineTuesday, October 9, 12
reducing release risk                 automate provisioning and deployment                 ensure devs, testers and ops co...
reducing release risk                 devops                 incrementalism                 decoupling deployment and rele...
devops                            culture                          automation                         measurement         ...
feature toggles                blue-green deployments                                                 canary releases     ...
DEPENDENT SERVICE                                                   1.0         1.1                      Database         ...
blue-green                         deploymentsTuesday, October 9, 12
router                                   web      app       DB                                  server   server   serverTu...
v1.1     v1.1     v1.1                         router                                   web      app       DB             ...
v1.1     v1.1     v1.1                         router                                   v1.2     v1.2     v1.2            ...
v1.1     v1.1     v1.1                         router                                   v1.2     v1.2     v1.2            ...
Canary ReleasingTuesday, October 9, 12
Tuesday, October 9, 12
Tuesday, October 9, 12
canary releasing                 Reduce risk of release                 Multi-variant testing                 Performance ...
immune system                         what if someone replaced your                         “buy” button with spacer.gif? ...
release !=                         deploymentTuesday, October 9, 12
feature toggles                   Config File             [featureToggles]             wobblyFoobars: true                ...
Dark LaunchingTuesday, October 9, 12
Tuesday, October 9, 12
Tuesday, October 9, 12
enterprise governance   risk management   SOX, ITIL, COBIT   segregation of duties   change management   auditing and comp...
people are the key                 Get everyone together at the beginning                 Keep meeting                 Mak...
questions        @jezhumble | jez@thoughtworks.com        http://continuousdelivery.com/        ThoughtWorks is hiring!   ...
Upcoming SlideShare
Loading in...5
×

Continuous Delivery

25,087

Published on

Originally given at CITCON 2010. See me present this at DevOpsDays Hamburg 2010 here: http://www.infoq.com/presentations/Continuous-Delivery For more on continuous delivery, visit http://continuousdelivery.com/

Published in: Technology
2 Comments
58 Likes
Statistics
Notes
No Downloads
Views
Total Views
25,087
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
876
Comments
2
Likes
58
Embeds 0
No embeds

No notes for slide

Continuous Delivery

  1. 1. continuous delivery @jezhumble Berlin, 4 october 2012 http://thoughtworks-studios.com/Tuesday, October 9, 12
  2. 2. agile 101 "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"Tuesday, October 9, 12
  3. 3. social disrupting traditional businesses http://code.flickr.com/Tuesday, October 9, 12
  4. 4. releasing frequently 1. build the right thing Customer development Agile product development Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5FTuesday, October 9, 12
  5. 5. innovate You cant just ask customers what they want and then try to give that to them. By the time you get it built, theyll want something new. Steve JobsTuesday, October 9, 12
  6. 6. scientific method Ideas create hypothesis Learn Build deliver minimum viable product Data Code get feedback Measure (repeat) Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5FTuesday, October 9, 12
  7. 7. ask this question “How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis?” Mary and Tom Poppendieck, Implementing Lean Software Development, p59.Tuesday, October 9, 12
  8. 8. releasing frequently 1. build the right thing 2. reduce risk of release John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIrTuesday, October 9, 12
  9. 9. optimize for mtrsTuesday, October 9, 12
  10. 10. optimize for mtrs MTBF MTRS John Allspaw: “Building Resilience in Web Development and Operations” http://www.usievents.com/en/conferences/8-paris-usi-2011/sessions/968-john-allspawTuesday, October 9, 12
  11. 11. releasing frequently 1. build the right thing 2. reduce risk of release 3. real project progressTuesday, October 9, 12
  12. 12. agile manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable softwareTuesday, October 9, 12
  13. 13. production-ready software Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or configurationTuesday, October 9, 12
  14. 14. continuous delivery Software always production ready Releases tied to business needs, not operational constraintsTuesday, October 9, 12
  15. 15. continuous delivery automation patterns and practices collaborationTuesday, October 9, 12
  16. 16. ingredients configuration management continuous integration automated testingTuesday, October 9, 12
  17. 17. Local Develop Workstation Mainline Server Build pull Build Build ✔ Done! pushTuesday, October 9, 12
  18. 18. Local Develop Workstation Everyone Commits Mainline Server Build To the pull Mainline Build Every Day Build ✔ Done! pushTuesday, October 9, 12
  19. 19. build quality in “Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place” W. Edwards DemingTuesday, October 9, 12
  20. 20. different kinds of testing Business facing AUTOMATED MANUAL Showcases Support programming Functional acceptance Usability testing tests Critique project Exploratory testing Unit tests Non-functional Integration tests acceptance tests System tests (performance, scaling, ...) AUTOMATED MANUAL / AUTOMATED Technology facing Diagram invented by Brian MarickTuesday, October 9, 12
  21. 21. deployment pipeline an automated implementation of your system’s build, deploy, test, release process visibility feedback controlTuesday, October 9, 12
  22. 22. deployment pipeline Delivery team Version control Build & unit Automated User acceptance Release tests acceptance tests tests Check in Trigger Feedback Check in Trigger Feedback Trigger Feedback Check in Trigger Feedback Trigger Feedback Approval Feedback ApprovalTuesday, October 9, 12
  23. 23. deployment pipelineTuesday, October 9, 12
  24. 24. deployment pipelineTuesday, October 9, 12
  25. 25. reducing release risk automate provisioning and deployment ensure devs, testers and ops collaborate throughoutTuesday, October 9, 12
  26. 26. reducing release risk devops incrementalism decoupling deployment and releaseTuesday, October 9, 12
  27. 27. devops culture automation measurement sharingTuesday, October 9, 12
  28. 28. feature toggles blue-green deployments canary releases low risk releases are incremental dark launching production immune systemTuesday, October 9, 12
  29. 29. DEPENDENT SERVICE 1.0 1.1 Database Abstraction layer Abstraction layer STATIC CONTENT /static/1.1 APPLICATION /static/1.0 Router / Load balancer InterwebsTuesday, October 9, 12
  30. 30. blue-green deploymentsTuesday, October 9, 12
  31. 31. router web app DB server server serverTuesday, October 9, 12
  32. 32. v1.1 v1.1 v1.1 router web app DB server server serverTuesday, October 9, 12
  33. 33. v1.1 v1.1 v1.1 router v1.2 v1.2 v1.2 web app DB server server serverTuesday, October 9, 12
  34. 34. v1.1 v1.1 v1.1 router v1.2 v1.2 v1.2 web app DB server server serverTuesday, October 9, 12
  35. 35. Canary ReleasingTuesday, October 9, 12
  36. 36. Tuesday, October 9, 12
  37. 37. Tuesday, October 9, 12
  38. 38. canary releasing Reduce risk of release Multi-variant testing Performance testingTuesday, October 9, 12
  39. 39. immune system what if someone replaced your “buy” button with spacer.gif? T cells http://www.flickr.com/photos/gehealthcare/3326186490/Tuesday, October 9, 12
  40. 40. release != deploymentTuesday, October 9, 12
  41. 41. feature toggles Config File [featureToggles] wobblyFoobars: true some.php flightyForkHandles: false <?if ($wobblyFoobars) {?> ... various UI elements <?}?> other.php $fork_handle = ($featureConfig->isOn(‘flightlyForkHandles)) ? new flightyForkHander(aCandle) : new forkHandler(aCandle); Stolen from Martin Fowler http://martinfowler.com/bliki/FeatureToggle.htmlTuesday, October 9, 12
  42. 42. Dark LaunchingTuesday, October 9, 12
  43. 43. Tuesday, October 9, 12
  44. 44. Tuesday, October 9, 12
  45. 45. enterprise governance risk management SOX, ITIL, COBIT segregation of duties change management auditing and complianceTuesday, October 9, 12
  46. 46. people are the key Get everyone together at the beginning Keep meeting Make it easy for everyone to see what’s happening Continuous improvement (kaizen)Tuesday, October 9, 12
  47. 47. questions @jezhumble | jez@thoughtworks.com http://continuousdelivery.com/ ThoughtWorks is hiring! http://jobs.thoughtworks.com/ Australia | Brazil | Canada | China Germany | India | Singapore | South Africa Uganda | UK | USA © 2012 ThoughtWorks, Inc. http://thoughtworks-studios.com/Tuesday, October 9, 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×