continuous delivery - the missing parts - paul stack

74
Continuous Delivery - The Missing Parts Paul Stack http://twitter.com/stack72 mail: [email protected]

Upload: jaxlondonconference

Post on 19-Feb-2017

270 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Continuous Delivery - the missing parts - Paul Stack

Continuous Delivery - The Missing Parts

Paul Stackhttp://twitter.com/stack72mail: [email protected]

Page 2: Continuous Delivery - the missing parts - Paul Stack

About Me

Infrastructure Engineer for a cool startup :)

Reformed ASP.NET / C# Developer

DevOps Extremist

Conference Junkie

Page 3: Continuous Delivery - the missing parts - Paul Stack

Background to this talk

Page 4: Continuous Delivery - the missing parts - Paul Stack

Continuous Delivery

…. is a set of practices and principles aimed at, building, testing and releasing software faster and more frequently.

Page 5: Continuous Delivery - the missing parts - Paul Stack

8 principles of Continuous DeliveryThe process for releasing/deploying software MUST be repeatable and reliable.

Automate everything!

If somethings difficult or painful, do it more often.

Keep everything in source control

Done means “released”

Build quality in!

Everybody has responsibility for the release process

Improve continuously

Page 6: Continuous Delivery - the missing parts - Paul Stack

4 Practices of Continuous Delivery

Build binaries only once

Use precisely the same mechanism to deploy to every environment

Smoke test your deployment

If anything fails, stop the line!

Page 7: Continuous Delivery - the missing parts - Paul Stack

Has anyone read this book?

Page 8: Continuous Delivery - the missing parts - Paul Stack

So continuous delivery is only 5 years old??

Page 9: Continuous Delivery - the missing parts - Paul Stack

Agile Manifesto

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software"

Page 10: Continuous Delivery - the missing parts - Paul Stack

Common Misconceptions

Page 11: Continuous Delivery - the missing parts - Paul Stack

1. Continuous Delivery is something only startups can achieve

Page 12: Continuous Delivery - the missing parts - Paul Stack

2. Continuous Delivery only works for NodeJS / Ruby / Go developers

Page 13: Continuous Delivery - the missing parts - Paul Stack

3. We can hire a consultant to help us implement ‘Continuous Delivery’

Page 14: Continuous Delivery - the missing parts - Paul Stack

4. Right click and deploy in your IDE is continuous delivery

Page 15: Continuous Delivery - the missing parts - Paul Stack

5. Continuous delivery is as simple as hooking github to our Azure / Heroku account…..

Page 16: Continuous Delivery - the missing parts - Paul Stack

“Until your pretty code is in production, making money, or doing whatever it does, you’ve just wasted your time”

Chris Read @cread #LondonCI

Page 17: Continuous Delivery - the missing parts - Paul Stack

But haven’t I just contradicted myself?

Page 18: Continuous Delivery - the missing parts - Paul Stack

The traditional technical side of a company

Developers

QA

SysAdmins

Network

Helpdesk

InfoSec

+ lots more

Page 19: Continuous Delivery - the missing parts - Paul Stack
Page 20: Continuous Delivery - the missing parts - Paul Stack

Aren’t we supposed to be one team?

Page 21: Continuous Delivery - the missing parts - Paul Stack

“How long would it take your organisation to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis?”

Implementing Lean Software Development Mary Poppendieck

Page 22: Continuous Delivery - the missing parts - Paul Stack

Value Stream Map

Page 23: Continuous Delivery - the missing parts - Paul Stack

The Value Stream Map for Ops is worse….

Page 24: Continuous Delivery - the missing parts - Paul Stack
Page 25: Continuous Delivery - the missing parts - Paul Stack

The rise of DevOps…..

Page 26: Continuous Delivery - the missing parts - Paul Stack
Page 27: Continuous Delivery - the missing parts - Paul Stack

October 30 - 31, 2009 Ghent, Belgium

Developers + System Administrators

for 2 days

= DevOpsDays

Page 28: Continuous Delivery - the missing parts - Paul Stack
Page 29: Continuous Delivery - the missing parts - Paul Stack
Page 30: Continuous Delivery - the missing parts - Paul Stack
Page 31: Continuous Delivery - the missing parts - Paul Stack
Page 32: Continuous Delivery - the missing parts - Paul Stack
Page 33: Continuous Delivery - the missing parts - Paul Stack

How does DevOps help with this type of thing?

Page 34: Continuous Delivery - the missing parts - Paul Stack

‘The 3 ways’

• Systems thinking

• Amplify Feedback loops

• Culture of Continual Experimentation and learning

Page 35: Continuous Delivery - the missing parts - Paul Stack

The first way…

Page 36: Continuous Delivery - the missing parts - Paul Stack

Understanding Work..

• Business Projects (search, UI improvements)

• Internal Projects (architecture changes)

• Changes (deployments, schema updates)

• Unplanned work (downtime, investigations)

Page 37: Continuous Delivery - the missing parts - Paul Stack

The second way…

Page 38: Continuous Delivery - the missing parts - Paul Stack

We found that when we woke developers up at 2am, defects got fixed faster!

-Patrick Lightbody CEO, Browsermob

Page 39: Continuous Delivery - the missing parts - Paul Stack

The third way…

Page 40: Continuous Delivery - the missing parts - Paul Stack
Page 41: Continuous Delivery - the missing parts - Paul Stack

You can adopt DevOps through….

Culture

Automation

Measurement

Sharing

Page 42: Continuous Delivery - the missing parts - Paul Stack

We are *all* part of the same team!

Page 43: Continuous Delivery - the missing parts - Paul Stack

Metrics and Automation are key!

Page 44: Continuous Delivery - the missing parts - Paul Stack

The technical side of the business post-DevOps….

Page 45: Continuous Delivery - the missing parts - Paul Stack
Page 46: Continuous Delivery - the missing parts - Paul Stack

The ops side of Continuous Delivery

Page 47: Continuous Delivery - the missing parts - Paul Stack

Configuration Management

Page 48: Continuous Delivery - the missing parts - Paul Stack

Immutable Infrastructure

Page 49: Continuous Delivery - the missing parts - Paul Stack
Page 50: Continuous Delivery - the missing parts - Paul Stack

Immutable Infrastructure

Page 51: Continuous Delivery - the missing parts - Paul Stack

Disposable Infrastructure

Page 52: Continuous Delivery - the missing parts - Paul Stack

Logging

Page 53: Continuous Delivery - the missing parts - Paul Stack
Page 54: Continuous Delivery - the missing parts - Paul Stack
Page 55: Continuous Delivery - the missing parts - Paul Stack

Metrics

Page 56: Continuous Delivery - the missing parts - Paul Stack
Page 57: Continuous Delivery - the missing parts - Paul Stack

Monitoring

Page 58: Continuous Delivery - the missing parts - Paul Stack
Page 59: Continuous Delivery - the missing parts - Paul Stack

https://github.com/stack72/nagios-elasticsearch

Page 60: Continuous Delivery - the missing parts - Paul Stack
Page 61: Continuous Delivery - the missing parts - Paul Stack

Orchestration

Page 62: Continuous Delivery - the missing parts - Paul Stack
Page 63: Continuous Delivery - the missing parts - Paul Stack

Data Center as Code?

Page 64: Continuous Delivery - the missing parts - Paul Stack
Page 65: Continuous Delivery - the missing parts - Paul Stack
Page 66: Continuous Delivery - the missing parts - Paul Stack
Page 67: Continuous Delivery - the missing parts - Paul Stack

Disaster Recovery?

Page 68: Continuous Delivery - the missing parts - Paul Stack
Page 69: Continuous Delivery - the missing parts - Paul Stack

The Continuous Delivery Maturity Model

Page 70: Continuous Delivery - the missing parts - Paul Stack

http://www.infoq.com/articles/Continuous-Delivery-Maturity-Model

Page 71: Continuous Delivery - the missing parts - Paul Stack

The Benefits of Continuous Delivery• High Performing IT Teams are more

Agile! • High Performing IT Teams can recover

faster! • High Performing IT Teams can

experiment more!

https://puppetlabs.com/sites/default/files/2014-state-of-devops-report.pdf

Page 72: Continuous Delivery - the missing parts - Paul Stack

Continuous Delivery means better products for your customers!*

* Customers can be internal or external

Page 73: Continuous Delivery - the missing parts - Paul Stack

Questions?

Page 74: Continuous Delivery - the missing parts - Paul Stack

Paul Stack @stack72