Slide 1

Slide 1 text

The biggest trick consultants ever pulled, was convincing the world continuous delivery is easy! Paul Stack http://twitter.com/stack72 mail: [email protected]

Slide 2

Slide 2 text

About Me Infrastructure Engineer 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 only 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

Here we go…..

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. Right click and deploy in your IDE is continuous delivery

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

6. Docker….

Slide 19

Slide 19 text

7. DevOps means that we don’t need operations teams…

Slide 20

Slide 20 text

8. Using chef / puppet / ansible means i am doing `DevOps`

Slide 21

Slide 21 text

9. We can hire a DevOps team to create the jenkins jobs and bash scripts for deployment

Slide 22

Slide 22 text

10. “I'm going to rub a little DevOps on that and make it better"

Slide 23

Slide 23 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 24

Slide 24 text

Value Stream Map

Slide 25

Slide 25 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 26

Slide 26 text

To improve we need to measure…

Slide 27

Slide 27 text

The rise of DevOps…..

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

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

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

So what actually is DevOps?

Slide 35

Slide 35 text

“DevOps is not about learning each other's job, it's understanding the money is made when software is actually running in production.” Dave Mangot @davemangot

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

The first way…

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

The second way…

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

The third way…

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

We are *all* part of the same team!

Slide 44

Slide 44 text

Image by John Turner of PaddyPower.com

Slide 45

Slide 45 text

Configuration Management

Slide 46

Slide 46 text

Immutable Infrastructure

Slide 47

Slide 47 text

Immutable Infrastructure

Slide 48

Slide 48 text

Disposable Infrastructure

Slide 49

Slide 49 text

Logging

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

Metrics

Slide 52

Slide 52 text

Monitoring

Slide 53

Slide 53 text

Orchestration

Slide 54

Slide 54 text

Data Center as Code?

Slide 55

Slide 55 text

Disaster Recovery?

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

The Benefits of Continuous Delivery & DevOps • 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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

Questions?

Slide 60

Slide 60 text

Paul Stack @stack72