Delivering Continuous Delivery Continuously Simon Hildrew The Guardian @sihil
Jun 26, 2015
Delivering Continuous Delivery
Continuously
Simon Hildrew
The Guardian @sihil
Delivering Continuous Delivery Continuously
• About the Guardian • What is Continuous Delivery? • Continuous Delivery at The Guardian • Where to start • Ongoing debates
Founded in 1821
Website growth
1999 1m
March 2014 100m
www monthly uniques
~15 software ‘products’ ~100 deployables
Deployment since 19961996
manual2002
copy & paste
2004 bash script
2006 more bash
scripts
2010 python scripts
2012 scala
!
PRO
D d
eplo
ys /
year 10000
2013 riff raff
!
~300~25
What is Continuous Delivery?
1. Software deployable throughout lifecycle 2. Prioritise keeping the software deployable over new
features 3. Fast and automated feedback on production readiness
of product changes 4. You can perform push-button deployments of any
version of the software to any environment on demand
http://martinfowler.com/bliki/ContinuousDelivery.html
5. Anyone can integrate the deployment service into their own tooling, monitoring and pipelines(Deployment as a Service)
Anna Vignet: https://www.flickr.com/photos/annnna/2228189828
Continuous Delivery at
The Guardian
Tooling
Riff Raff
Riff Raff• Push button deployment • Audit history • Easy Continuous Deployment • Easy HTTP callbacks to other services • API for triggering deploys, obtaining deploy history • Notifications via IRC, AWS SNS topic • Agnostic to deployment approach
Approach agnostic• Copy JAR/WAR & restart app • Copy Django/WSGI app & restart httpd • Autoscaling • Upload files to S3 • Fastly configuration upload • Install RPM • Apply Cloudformation template
Demo
Processes
1. Software deployable throughout lifecycle
2. Prioritise keeping the software deployable over new features
3. Fast and automated feedback on production readiness of product
changes
4. Push-button deployments of any version to any environment
5. Deployment as a Service
Resulting changes
Dev QA Ops
Gatekeeper
Watchman/Overseer Consultant
Manual regression tester
Test automation Feature testing
Product developer
Product developer, operations & support
Change in attitudesallison: https://www.flickr.com/photos/look_ma_im_flying_pictures/2222370392
https://twitter.com/iamdevloper/status/450905958139834368
https://twitter.com/benjiweber/status/450916228094492672
The danger of not deploying at 5pmRob Jewitt: https://www.flickr.com/photos/robjewitt/3413960746
Where to start
Start smallLes Chatfield: https://www.flickr.com/photos/elsie/8326905483
Encourage evangelists
Eden, Janine and Jim: https://www.flickr.com/photos/edenpictures/6117948499
Make it easyMaggie: https://www.flickr.com/photos/mk1971/2444862771
Follow business prioritiesStuart Chalmers: https://www.flickr.com/photos/gertcha/5164186393
Ongoing debates
Continuous Deployment?
Cost and value
Technology vs. Culture?