Continuous Delivery - The Missing Parts - Sddconf

Transcription

Continuous Delivery - TheMissing PartsPaul Stackhttp://twitter.com/stack72mail: paul@paulstack.co.uk

About MeInfrastructure Engineer for a cool startup :)Reformed ASP.NET / C# DeveloperDevOps ExtremistConference Junkie

Background to this talk

Continuous Delivery . is a set of practices andprinciples aimed at, building,testing and releasing softwarefaster and more frequently.

8 principles of ContinuousDeliveryThe process for releasing/deploying software MUST be repeatableand reliable.Automate everything!If somethings difficult or painful, do it more often.Keep everything in source controlDone means “released”Build quality in!Everybody has responsibility for the release processImprove continuously

4 Practices of ContinuousDeliveryBuild binaries only onceUse precisely the same mechanism to deploy to everyenvironmentSmoke test your deploymentIf anything fails, stop the line!

Has anyone read this book?

So continuous delivery isnow 5 years old?

Agile Manifesto“Our highest priority is to satisfy thecustomer through early andcontinuous delivery of valuablesoftware"

Common Misconceptions

1. Continuous Delivery issomething only startups canachieve

2. Continuous Delivery onlyworks for NodeJS / Ruby /Go developers

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

4. A good tool will help usimplement continuousdelivery

5. Continuous delivery is assimple as hooking github toour Azure account .

“Until your pretty code is inproduction, making money, or doingwhatever it does, you’ve just wastedyour time”Chris Read@cread#LondonCI

But haven’t I justcontradicted myself?

The traditional technical sideof a companyDevelopersQASysAdminsNetworkHelpdeskInfoSec lots more

Aren’t we supposed to beone team?

“How long would it take yourorganisation to deploy a change thatinvolved just one single line of code?Do you do this on a repeatable, reliablebasis?”Implementing Lean Software DevelopmentMary Poppendieck

Value Stream Map

The Value Stream Map forOps is worse .

The rise of DevOps .

October 30 - 31, 2009Ghent, BelgiumDevelopers System Administratorsfor 2 days DevOpsDays

How does DevOps helpwith this type of thing?

‘The 3 ways’ Systems thinking Amplify Feedback loops Culture of ContinualExperimentation and learning

The first way

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

The second way

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

The third way

DevOps is about CultureAutomationMeasurementSharing

We are *all* part of the sameteam!

Metrics and Automation arekey!

The technical side of thebusiness post-DevOps .

The ops side of ContinuousDelivery

Configuration Management

Demo of Ansible

Immutable Infrastructure

How can I manage myexisting infrastructure withthat?

Logging

Metrics

Monitoring

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

Orchestration

Demo

Data Center as Code?

Disaster Recovery?

The Continuous DeliveryMaturity Model

Maturity-Model

The Results of ContinuousDelivery High Performing IT Teams are moreAgile!High Performing IT Teams can recoverfaster!High Performing IT Teams canexperiment more!

Continuous Delivery meansbetter products for yourcustomers!** Customers can be internal or external

Questions?

Paul Stack@stack72

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