What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013

7,397 views
7,214 views

Published on

"What Is This Continuous Delivery Thing Anyway?" by Eric Shamow, Product Owner, Continuous Delivery, Puppet Labs.

Presentation Overview: An introduction to Continuous Delivery with a focus on Puppet and Operations teams - what is Continuous Delivery, why does my company or Development team want it, and what does it do for me? We'll focus on what you can do with Puppet now to enable an environment that encourages rapid iteration, how Operations can reach out to help Development get on this path (and what Development can ask for from Ops if they aren't helping out), and what Puppet is currently working on to make Continuous Delivery available to every organization.

Speaker Bio: Eric Shamow is methodologies lead and a product owner at Puppet Labs. He has worked in IT for over 15 years in a diverse group of organizations from education to finance. Eric's passion is for culture change, and his work with Puppet has brought him to some of the most recognized companies in the industry, consulting on both technology and organizational process.

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,397
On SlideShare
0
From Embeds
0
Number of Embeds
4,217
Actions
Shares
0
Downloads
63
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013

  1. 1. What Is This Continuous Delivery Thing,Anyway? Eric Shamow Methodologies Lead / Product Owner | Puppet Labs @eshamow Friday, August 23, 13
  2. 2. puppetconf.com #puppetconf Who am I? Friday, August 23, 13
  3. 3. What is Continuous Delivery? It’s about cycle time Friday, August 23, 13
  4. 4. puppetconf.com #puppetconf Code is Value Friday, August 23, 13
  5. 5. puppetconf.com #puppetconf Code is Value “How long would it take your organization to deploy a change that involves just one single line of code? Do you do this on a repeatable, reliable basis?” - Mary and Tom Poppendieck, Implementing Lean Software Development Friday, August 23, 13
  6. 6. puppetconf.com #puppetconf Code is Value “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” - First Principle, Agile Manifesto Friday, August 23, 13
  7. 7. Gene Kim’s Three Ways Laying a foundation Friday, August 23, 13
  8. 8. puppetconf.com #puppetconf Developing Systems Thinking The Three WaysTheory of Constraints Friday, August 23, 13
  9. 9. puppetconf.com #puppetconf The First Way (Automate) Systems Thinking / Flow Business Customer Dev Ops Friday, August 23, 13
  10. 10. puppetconf.com #puppetconf The First Way (Automate) • Never pass a defect downstream • Never allow local optimization to create global degradation • Always look to increase flow • Always seek to achieve profound understanding of the system Friday, August 23, 13
  11. 11. puppetconf.com #puppetconf The Second Way (Collaborate) Amplify Feedback Loops Business Customer Dev Ops Friday, August 23, 13
  12. 12. puppetconf.com #puppetconf The Second Way (Collaborate) • Foster information sharing across teams • Better understanding of customers • Fix defects faster, prevent regressions • Adapt processes to other teams • Decrease delivery time, decrease unplanned work Friday, August 23, 13
  13. 13. puppetconf.com #puppetconf The Third Way (Ship) Culture - Continual Experimentation and Learning Business Customer Dev Ops Friday, August 23, 13
  14. 14. puppetconf.com #puppetconf The Third Way (Ship) • Continual experimentation • Acceptance of risk and learning from failure • Do difficult things more often to gain mastery • Inject faults into production/practice outages • Test business hypotheses through pipeline results • Add system stress to decrease cycle time Friday, August 23, 13
  15. 15. puppetconf.com #puppetconf Now Your Organization Can Do Lean/Agile Friday, August 23, 13
  16. 16. So,Back To Cycle Times We want to reduce them. Where do we look? Friday, August 23, 13
  17. 17. puppetconf.com #puppetconf Traditional Release Process Monolithic plan MVP code QA/Test Delivery Budgeted time Delays Friday, August 23, 13
  18. 18. puppetconf.com #puppetconf This is What Failure Looks Like Friday, August 23, 13
  19. 19. puppetconf.com #puppetconf Cycle Time Is Key “The periodicity of integration decayed...so it ended up that it took between 1 and 3 months for my code to get to the root node, and some multiple of that for it to reach the other nodes.” - Moishe Lettvin - The Windows Shutdown Crapfest Friday, August 23, 13
  20. 20. puppetconf.com #puppetconf This is What Success Looks Like Friday, August 23, 13
  21. 21. puppetconf.com #puppetconf This is What Success Looks Like • You haven’t read it yet • You still haven’t read it • Why are you still here? • GO. READ IT NOW. Friday, August 23, 13
  22. 22. puppetconf.com #puppetconf This is What Success Looks Like • Frequent, automated releases • Every check-in is a potential release • Every change triggers feedback • Feedback must be received as soon as possible • Automate almost everything • Build quality in - Chris Hilton, Beyond Continuous Delivery Friday, August 23, 13
  23. 23. puppetconf.com #puppetconf Deployment Pipeline Shamelessly stolen from Jez Humble Friday, August 23, 13
  24. 24. How Does CD Work? Building a Delivery Pipeline Friday, August 23, 13
  25. 25. puppetconf.com #puppetconf Divide Toolkit Into Components • Continuous Integration Tooling • Configuration Management • Application Deployment • Monitoring/Metrics Friday, August 23, 13
  26. 26. puppetconf.com #puppetconf Continuous Integration Tooling CI Server - Jenkins Friday, August 23, 13
  27. 27. puppetconf.com #puppetconf Continuous Integration Tooling VCS Integration Everything gets checked into trunk Continuous Integration means you continuously (multiple times a day) integrate (check all of your code together) Friday, August 23, 13
  28. 28. puppetconf.com #puppetconf Configuration Management • Puppet • Integrate Puppet with VCS Friday, August 23, 13
  29. 29. puppetconf.com #puppetconf Configuration Management • Integrate Puppet with VCS Friday, August 23, 13
  30. 30. puppetconf.com #puppetconf Configuration Management • Integrate Puppet with VCS Friday, August 23, 13
  31. 31. puppetconf.com #puppetconf Application Deployment • Puppet for middleware • Mcollective for more complex orchestration Friday, August 23, 13
  32. 32. puppetconf.com #puppetconf Monitoring/Metrics • Don’t just rely on your CI tool • Graphite • Logstash • Splunk • Nagios Friday, August 23, 13
  33. 33. puppetconf.com #puppetconf Event Inspector Friday, August 23, 13
  34. 34. How Do We Get Buy-In? Target internal customer needs Friday, August 23, 13
  35. 35. puppetconf.com #puppetconf Why Do I Want CD (if I’m the Business) • Innovate Faster • Respond to Market Demands • Fix Screw-Ups • Lean/Agile Friday, August 23, 13
  36. 36. puppetconf.com #puppetconf Why Do I Want CD? (If I’m Dev) • I can’t test against prod unless my environment looks like prod • Finding out root cause is really hard • Merge windows are really hard • I need QA/Test feedback quickly Friday, August 23, 13
  37. 37. puppetconf.com #puppetconf Why Do I Want CD? (If I’m Ops) • Ensure I get real handoff from Dev • Infrastructure changes tested along with apps • Small changes that don’t blow up prod on deploy day • Ensure changes are thoroughly tested before deploy • Self-service Friday, August 23, 13
  38. 38. puppetconf.com #puppetconf It’s a Culture Shift • Tooling is important • People and culture are more important • Everybody owns the pipeline • If the build is broken, it’s everybody’s problem • We’re on the same team Friday, August 23, 13
  39. 39. Thank You Eric Shamow Methodologies Lead / Product Owner | Puppet Labs @eshamow Collaborate. Automate. Ship. Friday, August 23, 13
  40. 40. Follow us on Twitter @puppetlabs youtube.com/puppetlabsinc slideshare.net/puppetlabs Collaborate. Automate. Ship. Friday, August 23, 13

×