Presentation given at SDEC14 in Winnipeg. The slides likely aren't very useful without the attending discussion but people have asked for the slides to be made available
Mike BowlerCoach and Trainer at Gargoyle Software Inc.
Continuous Delivery: Responding to Change Faster Than Ever Before - SDEC14
1. Continuous Delivery
Responding to change, faster
than ever before
Mike Bowler @mike_bowler
Thank you to our Sponsors
Media Sponsor:
2. 2
“Continuous delivery is a
software development
discipline where you build
software in such a way that
the software can be released
to production at any time.”
Martin Fowler
3. “A key test is that a business
sponsor could request that the
current development version of
the software can be deployed
into production at a moments
notice - and nobody would bat an
eyelid, let alone panic.”
Martin Fowler
3
5. Agile manifesto says….
“Our highest priority is to satisfy
the customer through early and
continuous delivery of valuable
software.”
“Deliver working software
frequently, from a couple of weeks
to a couple of months, with a
preference to the shorter timescale.”
5
6. How far can we
push that?
• In 2011, Amazon was deploying to production
every 11.6 seconds
• In 2013, Github deployed to production almost
11,000 times (About 42 times/business day)
• In 2013, Shopify deployed to production
~1,835 times (About 7 times/business day)
• Today, Etsy deploys 50+ times a day
• Today, Netflix deploys “hundreds of times a
day”
6
7. “Wait a minute! My
company doesn’t want
to deploy that often!”
important is that
you CAN deliver that fast
important is What’s
13. HP does continuous
delivery for printer
drivers, including
running tests against
physical hardware.
13
14. APPLYING IT AT SCALE
“Each Facebook data center operations
staffer can manage at least 20,000
servers, and for some admins the
number can be as high as 26,000
systems”
14
— Delfina Eberly
Director of Data Center Operations, Facebook
November 2013
16. INTEGRATION AT GOOGLE SCALE
In 2010, Google had…
• 5000+ developers
• 20+ changes per minute
• 50% code base changes every month
• 50 million automated tests run every day
• Single branch, across five languages
• Development on head; all releases from source
• Each check-in isolated from all others
http://google-engtools.blogspot.ca/2011/05/welcome-to-google-engineering-tools.html
16
17. Deploy to
production
Verify expected
behaviour
Compile and
Package
Pull from
master branch
Monitoring and
Alerts
Rollbacks on
error
Production
18. Verify expected
behaviour
Compile and
Package
Pull from
Amy’s branch
Deploy to production
Monitoring and
Alerts
Rollbacks on
error
Production
Verify expected behaviour
Compile and package
Merge with master branch
One branch
per developer
Merge with local
copy of master
Verify expected
behaviour
Compile and
Package
Merge with local
copy of master
Pull from
Bob’s branch
Verify expected
behaviour
Compile and
Package
Merge with local
copy of master
Pull from
Carol’s branch
22. CONTACTING ME
Mike Bowler
Agile & Technical Coach
mbowler@GargoyleSoftware.com
Cell: 905 409-7052
Twitter: @mike_bowler
Other links for me on Facebook, Google+ etc at
http://www.GargoyleSoftware.com/mike_bowler