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