Continuous Delivery. Jez
|
|
- Gillian Bennett
- 5 years ago
- Views:
Transcription
1 Continuous Delivery Jez
2 agile 101 "Agile" team Analysis + Design Development Centralized QA Integration + QA IT Operations Release and operation Customer Testing + Showcase Iteration The "last mile"
3 web 2.0 disrupting traditional businesses
4 releasing frequently 1. build the right thing Customer development Agile product development Eric Ries, The Lean Startup
5 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
6 scientific method Ideas create hypothesis Learn Build deliver minimum viable product Data Code get feedback Measure (repeat) Eric Ries, The Lean Startup
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.
8 releasing frequently 1. build the right thing 2. reduce risk of release John Allspaw: Ops Metametrics
9 releasing frequently 1. build the right thing 2. reduce risk of release 3. real project progress
10 agile manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
11 production-ready software Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or configuration
12 continuous delivery Customer Delivery team Constant flow of new features into production Software always production ready Releases tied to business needs, not operational constraints
13 continuous delivery automation patterns and practices collaboration
14 ingredients configuration management continuous integration automated testing
15 Develop Local Workstation Mainline Server Build pull Build push Build Done!
16 Develop Local Workstation Everyone Commits Mainline Server Build To the Mainline pull Build Every Day push Build Done!
17 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
18 different kinds of testing AUTOMATED Business facing MANUAL Support programming Functional acceptance tests Unit tests Integration tests System tests Showcases Usability testing Exploratory testing Non-functional acceptance tests (performance, scaling,...) Critique project AUTOMATED Technology facing MANUAL / AUTOMATED Diagram invented by Brian Marick
19 deployment pipeline an automated implementation of your system s build, deploy, test, release process visibility feedback control
20 deployment pipeline Delivery team Version control Build & unit tests Automated acceptance tests User acceptance tests Release Check in Trigger Feedback Check in Trigger Feedback Trigger Feedback Check in Trigger Feedback Trigger Feedback Feedback Approval Approval
21 deployment pipeline
22 deployment pipeline
23 reducing release risk devops incrementalism decoupling deployment and release
24 devops culture automation measurement sharing
25 feature toggles blue-green deployments canary releases low risk releases are incremental dark launching production immune system
26 DEPENDENT SERVICE Database Abstraction layer Abstraction layer STATIC CONTENT /static/1.1 APPLICATION /static/1.0 Router / Load balancer Interwebs
27 blue-green deployments
28 router web server app server DB server
29 v1.1 v1.1 v1.1 router web server app server DB server
30 v1.1 v1.1 v1.1 router v1.2 v1.2 v1.2 web server app server DB server
31 v1.1 v1.1 v1.1 router v1.2 v1.2 v1.2 web server app server DB server
32 release!= deployment
33 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
34 Dark Launching
35
36
37 enterprise governance risk management SOX, ITIL, COBIT segregation of duties change management auditing and compliance
38 people are the key inceptions, showcases, retrospectives rotate people, share the pain big, visible displays continuous improvement (kaizen)
39 questions #continuousdelivery 2011 ThoughtWorks, Inc.