Continuous delivery   a happier, safer alternative to release trains
Upcoming SlideShare
Loading in...5
×
 

Continuous delivery a happier, safer alternative to release trains

on

  • 1,124 views

 

Statistics

Views

Total Views
1,124
Views on SlideShare
1,118
Embed Views
6

Actions

Likes
0
Downloads
48
Comments
0

2 Embeds 6

http://www.slideee.com 3
https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Continuous delivery   a happier, safer alternative to release trains Continuous delivery a happier, safer alternative to release trains Presentation Transcript

  • continuous delivery @jezhumble Berlin, 4 october 2012 http://thoughtworks-studios.com/ Tuesday, October 9, 12
  • agile 101 "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operation Testing + Showcase Customer Iteration Tuesday, October 9, 12 0 1 2 3 4 The "last mile"
  • social disrupting traditional businesses http://code.flickr.com/ Tuesday, October 9, 12
  • releasing frequently 1. build the right thing Customer development Agile product development Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F Tuesday, October 9, 12
  • innovate You can't just ask customers what they want and then try to give that to them. By the time you get it built, they'll want something new. Steve Jobs Tuesday, October 9, 12
  • scientific method Ideas create hypothesis deliver minimum viable product get feedback (repeat) Tuesday, October 9, 12 Learn Build Code Data Measure Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F
  • 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
  • releasing frequently 1. build the right thing 2. reduce risk of release John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr Tuesday, October 9, 12
  • optimize for mtrs Tuesday, October 9, 12
  • 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-allspaw Tuesday, October 9, 12
  • releasing frequently 1. build the right thing 2. reduce risk of release 3. real project progress Tuesday, October 9, 12
  • agile manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Tuesday, October 9, 12
  • production-ready software Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or configuration Tuesday, October 9, 12
  • continuous delivery Software always production ready Releases tied to business needs, not operational constraints Tuesday, October 9, 12
  • continuous delivery automation patterns and practices collaboration Tuesday, October 9, 12
  • ingredients configuration management continuous integration automated testing Tuesday, October 9, 12
  • Develop Local Workstation Mainline Server Build pull Build Build push Tuesday, October 9, 12 ✔ Done!
  • Develop Local Workstation Mainline Server Everyone Commits Build To the pull Mainline Build Every Day Build push Tuesday, October 9, 12 ✔ Done!
  • 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 Deming Tuesday, October 9, 12
  • different kinds of testing Business facing Functional acceptance tests Showcases Usability testing Exploratory testing Unit tests Integration tests System tests Non-functional acceptance tests (performance, scaling, ...) AUTOMATED Support programming MANUAL MANUAL / AUTOMATED Critique project AUTOMATED Technology facing Diagram invented by Brian Marick Tuesday, October 9, 12
  • deployment pipeline an automated implementation of your system’s build, deploy, test, release process visibility feedback control Tuesday, October 9, 12
  • deployment pipeline Delivery team Version control Check in Build & unit tests Automated acceptance tests User acceptance tests Trigger Feedback Check in Trigger Trigger Feedback Feedback Check in Trigger Feedback Trigger Feedback Approval Feedback Tuesday, October 9, 12 Approval Release
  • deployment pipeline Tuesday, October 9, 12
  • deployment pipeline Tuesday, October 9, 12
  • reducing release risk automate provisioning and deployment ensure devs, testers and ops collaborate throughout Tuesday, October 9, 12
  • reducing release risk devops incrementalism decoupling deployment and release Tuesday, October 9, 12
  • devops culture automation measurement sharing Tuesday, October 9, 12
  • feature toggles blue-green deployments canary releases low risk releases are incremental dark launching production immune system Tuesday, October 9, 12
  • DEPENDENT SERVICE 1.0 1.1 Database Abstraction layer Abstraction layer STATIC CONTENT /static/1.1 APPLICATION /static/1.0 Router / Load balancer Interwebs Tuesday, October 9, 12
  • blue-green deployments Tuesday, October 9, 12
  • router web server Tuesday, October 9, 12 app server DB server
  • v1.1 v1.1 v1.1 web server app server DB server router Tuesday, October 9, 12
  • v1.1 Tuesday, October 9, 12 v1.1 v1.2 v1.2 v1.2 web server router v1.1 app server DB server
  • v1.1 Tuesday, October 9, 12 v1.1 v1.2 v1.2 v1.2 web server router v1.1 app server DB server
  • Canary Releasing Tuesday, October 9, 12
  • Tuesday, October 9, 12
  • Tuesday, October 9, 12
  • canary releasing Reduce risk of release Multi-variant testing Performance testing Tuesday, October 9, 12
  • 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
  • release != deployment Tuesday, October 9, 12
  • feature toggles Config File [featureToggles] wobblyFoobars: true flightyForkHandles: false some.php <?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.html Tuesday, October 9, 12
  • Dark Launching Tuesday, 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 compliance Tuesday, October 9, 12
  • 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
  • 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