general continuous delivery for agile practitioners meetup may 2014
DESCRIPTION
A generalized version of the presentation on Continuous Delivery given at the Agile Practitioners meetup at Gap headquarters in San Francisco on May 28, 2014.TRANSCRIPT
![Page 2: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/2.jpg)
Why Continuous Delivery?
![Page 3: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/3.jpg)
Agile Practices
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
![Page 4: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/4.jpg)
Continuous Delivery
Customer
Delivery teamConstant flow of new features into production
![Page 5: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/5.jpg)
Benefits?
![Page 7: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/7.jpg)
Better Quality
“Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place.”
W. Edwards Deming
![Page 8: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/8.jpg)
Less Waste, More Innovation
Eric Ries, The Lean Startup
Ideas
CodeData
Build
Measure
Learn
![Page 9: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/9.jpg)
the cd test
can I release my latest good build on demand at the push of a button while relaxing on the beach with a caipirinha?
http://www.flickr.com/photos/minimiapics/3049363735/
![Page 10: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/10.jpg)
Challenges
![Page 11: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/11.jpg)
Organizational Silos
![Page 12: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/12.jpg)
The DevOps ConundrumDevs want change! Ops wants stability!
![Page 13: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/13.jpg)
Lack of Training
![Page 14: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/14.jpg)
Resistance to Change
![Page 15: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/15.jpg)
Fear of Failure
![Page 16: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/16.jpg)
Principles• culture of innovation
• encourage failure
• incremental improvement
• everybody is responsible for release process
• automate everything
• done means released
![Page 17: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/17.jpg)
Business Value!
![Page 18: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/18.jpg)
Workshop Break !
Vladimir Zelmanov ThoughtWorks
![Page 19: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/19.jpg)
Techniques
![Page 20: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/20.jpg)
Commit stageCompileUnit testAnalysis
Build installers
Acceptance test stage
User acceptance
testing
Performance testing
Production
Increasing confidence in build's production readiness
Environments become more production-like
Faster feedback
Delivery Pipeline
![Page 21: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/21.jpg)
Branch by abstraction
STATIC CONTENT
/static/1.1
/static/1.0
DEPENDENT SERVICE
1.0 1.1
Abstraction layer Abstraction layer
APPLICATION
Database
Router /Load balancer
Interwebs
![Page 22: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/22.jpg)
low risk releases are incremental
blue-green deployments
canary releases
dark launching
production immune system
![Page 23: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/23.jpg)
Infrastructure Automation
If someone threw a server out of the window, how long would it take to recreate it?
![Page 24: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/24.jpg)
Infrastructure In Pipelinesystem
configuration
(puppet code)
SCM CI Test Prod
Orchestrator(puppetmaster,
cron, etc)
Web servers App servers DB servers
Deployment Pipeline
![Page 25: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/25.jpg)
Fusion Testing
![Page 26: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/26.jpg)
Cloud-y Pipelines
Base VM
Isolation Tests Isolation Tests
Production
Staging
Integration Tests
Other App Env Scripts
IT Scripts
Env Scripts App WAR3.6
A JAR2.3
Common JAR4.3
B JAR1.4
2.3 : 2.0+ 1.4 : 1.0+
4.3 : 4.0+ 4.3 : 4.0+
Staging
Integration Tests
Isolation Tests
App WAR
A JAR B JAR
Common JAR
![Page 27: General Continuous Delivery for Agile Practitioners Meetup May 2014](https://reader033.vdocuments.us/reader033/viewer/2022052303/554c560cb4c905452e8b4b5c/html5/thumbnails/27.jpg)
Semi-fluid Dependencies