Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

About Me Infrastructure Engineer for a cool startup :) Reformed ASP.NET / C# Developer DevOps Extremist Conference Junkie

Slide 3

Slide 3 text

Background to this talk

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

8 principles of Continuous Delivery The 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

Slide 6

Slide 6 text

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!

Slide 7

Slide 7 text

Has anyone read this book?

Slide 8

Slide 8 text

So continuous delivery is now 5 years old?

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Common Misconceptions

Slide 11

Slide 11 text

1. Continuous Delivery is something only startups can achieve

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

4. A good tool will help us implement continuous delivery

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

“Until your pretty code is in production, making money, or doing whatever it does, you’ve just wasted your time” Chris Read @cread #LondonCI

Slide 18

Slide 18 text

But haven’t I just contradicted myself?

Slide 19

Slide 19 text

The traditional technical side of a company Developers QA SysAdmins Network Helpdesk InfoSec + lots more

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Aren’t we supposed to be one team?

Slide 22

Slide 22 text

“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

Slide 23

Slide 23 text

Value Stream Map

Slide 24

Slide 24 text

The Value Stream Map for Ops is worse….

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

The rise of DevOps…..

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

October 30 - 31, 2009 Ghent, Belgium Developers + System Administrators for 2 days = DevOpsDays

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

How does DevOps help with this type of thing?

Slide 35

Slide 35 text

‘The 3 ways’ • Systems thinking • Amplify Feedback loops • Culture of Continual Experimentation and learning

Slide 36

Slide 36 text

The first way…

Slide 37

Slide 37 text

Understanding Work.. • Business Projects (search, UI improvements) • Internal Projects (architecture changes) • Changes (deployments, schema updates) • Unplanned work (downtime, investigations)

Slide 38

Slide 38 text

The second way…

Slide 39

Slide 39 text

We found that when we woke developers up at 2am, defects got fixed faster! -Patrick Lightbody CEO, Browsermob

Slide 40

Slide 40 text

The third way…

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

DevOps is about… Culture Automation Measurement Sharing

Slide 43

Slide 43 text

We are *all* part of the same team!

Slide 44

Slide 44 text

Metrics and Automation are key!

Slide 45

Slide 45 text

The technical side of the business post-DevOps….

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

The ops side of Continuous Delivery

Slide 48

Slide 48 text

Configuration Management

Slide 49

Slide 49 text

Immutable Infrastructure

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

Immutable Infrastructure

Slide 52

Slide 52 text

Disposable Infrastructure

Slide 53

Slide 53 text

Logging

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

Metrics

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

Monitoring

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

Orchestration

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

Data Center as Code?

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

Disaster Recovery?

Slide 66

Slide 66 text

No content

Slide 67

Slide 67 text

The Continuous Delivery Maturity Model

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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!

Slide 70

Slide 70 text

Continuous Delivery means better products for your customers!* * Customers can be internal or external

Slide 71

Slide 71 text

Questions?

Slide 72

Slide 72 text

Paul Stack @stack72