Top Banner
Delivering Continuous Delivery Continuously Simon Hildrew The Guardian @sihil
51

Delivering Continuous Delivery Continuously

Jun 26, 2015

Download

Technology

sihil

Slides from my talk at Craft Conf 2014 in Budapest
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Delivering Continuous Delivery Continuously

Delivering Continuous Delivery

Continuously

Simon Hildrew

The Guardian @sihil

Page 2: Delivering Continuous Delivery Continuously

Delivering Continuous Delivery Continuously

• About the Guardian • What is Continuous Delivery? • Continuous Delivery at The Guardian • Where to start • Ongoing debates

Page 3: Delivering Continuous Delivery Continuously
Page 4: Delivering Continuous Delivery Continuously

Founded in 1821

Page 5: Delivering Continuous Delivery Continuously

Website growth

1999 1m

March 2014 100m

www monthly uniques

Page 6: Delivering Continuous Delivery Continuously
Page 7: Delivering Continuous Delivery Continuously
Page 8: Delivering Continuous Delivery Continuously
Page 9: Delivering Continuous Delivery Continuously
Page 10: Delivering Continuous Delivery Continuously
Page 11: Delivering Continuous Delivery Continuously
Page 12: Delivering Continuous Delivery Continuously
Page 13: Delivering Continuous Delivery Continuously

~15 software ‘products’ ~100 deployables

Page 14: Delivering Continuous Delivery Continuously

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

Page 15: Delivering Continuous Delivery Continuously

What is Continuous Delivery?

Page 16: Delivering Continuous Delivery Continuously

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

Page 17: Delivering Continuous Delivery Continuously

5. Anyone can integrate the deployment service into their own tooling, monitoring and pipelines(Deployment as a Service)

Page 18: Delivering Continuous Delivery Continuously

Anna Vignet: https://www.flickr.com/photos/annnna/2228189828

Page 19: Delivering Continuous Delivery Continuously

Continuous Delivery at

The Guardian

Page 20: Delivering Continuous Delivery Continuously

Tooling

Page 21: Delivering Continuous Delivery Continuously

Riff Raff

Page 22: Delivering Continuous Delivery Continuously

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

Page 23: Delivering Continuous Delivery Continuously

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

Page 24: Delivering Continuous Delivery Continuously
Page 25: Delivering Continuous Delivery Continuously
Page 26: Delivering Continuous Delivery Continuously
Page 27: Delivering Continuous Delivery Continuously

Demo

Page 28: Delivering Continuous Delivery Continuously

Processes

Page 29: Delivering Continuous Delivery Continuously

1. Software deployable throughout lifecycle

Page 30: Delivering Continuous Delivery Continuously

2. Prioritise keeping the software deployable over new features

Page 31: Delivering Continuous Delivery Continuously

3. Fast and automated feedback on production readiness of product

changes

Page 32: Delivering Continuous Delivery Continuously

4. Push-button deployments of any version to any environment

Page 33: Delivering Continuous Delivery Continuously

5. Deployment as a Service

Page 34: Delivering Continuous Delivery Continuously

Resulting changes

Page 35: Delivering Continuous Delivery Continuously

Dev QA Ops

Gatekeeper

Watchman/Overseer Consultant

Manual regression tester

Test automation Feature testing

Product developer

Product developer, operations & support

Page 36: Delivering Continuous Delivery Continuously

Change in attitudesallison: https://www.flickr.com/photos/look_ma_im_flying_pictures/2222370392

Page 37: Delivering Continuous Delivery Continuously

https://twitter.com/iamdevloper/status/450905958139834368

Page 38: Delivering Continuous Delivery Continuously

https://twitter.com/benjiweber/status/450916228094492672

Page 39: Delivering Continuous Delivery Continuously
Page 40: Delivering Continuous Delivery Continuously

The danger of not deploying at 5pmRob Jewitt: https://www.flickr.com/photos/robjewitt/3413960746

Page 41: Delivering Continuous Delivery Continuously

Where to start

Page 42: Delivering Continuous Delivery Continuously
Page 43: Delivering Continuous Delivery Continuously

Start smallLes Chatfield: https://www.flickr.com/photos/elsie/8326905483

Page 44: Delivering Continuous Delivery Continuously

Encourage evangelists

Eden, Janine and Jim: https://www.flickr.com/photos/edenpictures/6117948499

Page 45: Delivering Continuous Delivery Continuously

Make it easyMaggie: https://www.flickr.com/photos/mk1971/2444862771

Page 46: Delivering Continuous Delivery Continuously

Follow business prioritiesStuart Chalmers: https://www.flickr.com/photos/gertcha/5164186393

Page 47: Delivering Continuous Delivery Continuously

Ongoing debates

Page 48: Delivering Continuous Delivery Continuously

Continuous Deployment?

Page 49: Delivering Continuous Delivery Continuously

Cost and value

Page 50: Delivering Continuous Delivery Continuously

Technology vs. Culture?

Page 51: Delivering Continuous Delivery Continuously

Thanks!

Simon Hildrew

@sihil [email protected]

http://github.com/guardian/deploy

ishiring!