Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enterprise – Carl Caum, Puppet & Brian Dawson, CloudBees

1,003 views

Published on

Here are the slides fromCarl Caum and Brian Dawson's PuppetConf 2016 presentation called Continuous Delivery and DevOps with Jenkins and Puppet Enterprise. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa

Published in: Technology
  • Be the first to comment

PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enterprise – Carl Caum, Puppet & Brian Dawson, CloudBees

  1. 1. Continuous delivery & DevOps with Jenkins and Puppet Everything as Code Brian Dawson & Carl Caum
  2. 2. Carl Caum Technical Marketing Manager Puppet
  3. 3. Brian Dawson DevOps Evangelist CloudBees
  4. 4. DevOps It’s about giving a shit
  5. 5. Sound familiar? 5 “Why won’t Ops just make this change? It’s small” “Don’t the developers know anything about logging?” “Why does it take so long for Ops to deploy this code?” “Why can’t the developers build packages?” “The devs don’t care that this code doesn’t scale.” “Ops won’t let us use the latest Ruby for some reason.”
  6. 6. The cause 6 Dev Ops
  7. 7. Empathy rarely extends beyond our line of sight.
  8. 8. The solution 8 Dev OpsDevOps
  9. 9. …. except not really though Product Delivery Process Problem Statement Problem Prioritization Design / Development Deployment Monitoring Engineering OpsProduct management DevOps?DevOps? DevOps?
  10. 10. Shared goals with transparency and accountability build a shared sense of purpose.
  11. 11. DevOps Why are we even talking about it?
  12. 12. High-performing organizations are decisively outperforming their lower-performing peers in terms of throughput.
  13. 13. Because they address security at every stage, high-performing teams spend less time fixing security issues.
  14. 14. Get your copy of the 2016 State of DevOps Report puppet.com/devops-report-2016
  15. 15. DevOps Great...err, but what is it?
  16. 16. 17 The DevOps Trinity 17 Upstream Downstream People & Culture Process & Practices Tools & Technology Agile, Scrum, Kanban PMBOK, ITIL, etc Point Tools, Grassroots, Rapid Change Move Fast, Innovate Maintain Quality Stability, Uptime Enterprise class, Stable, Repeatable, traceable Define Plan Code Build Integrate Test Release Deploy Operate
  17. 17. Culture Automation Measurement Sharing
  18. 18. The Three Ways - Gene Kim
  19. 19. Systems Thinking Understand the performance of the entire system, not each individual silo 20
  20. 20. Amplify Feedback Loops Build quick, short, feedback into the process 21
  21. 21. Culture of Experimentation and Learning Enforce a culture of continuous experimentation, risk taking, and learning. 22
  22. 22. Continuous Delivery Prove every change is deployable
  23. 23. 24 The DevOps Trinity and the Chasms 24 Upstream Downstream People & Culture Process & Practices Tools & Technology Agile, Scrum, Kanban PMBOK, ITIL, Waterfall etc Point Tools, Grassroots, Rapid Change Move Fast, Innovate Maintain Quality Stability, Uptime Enterprise class, Corp procurement, Stable Define Plan Code Build Integrate Test Release Deploy Operate
  24. 24. 25 The Foundation 25 Upstream Downstream People & Culture Process & Practices Tools & Technology Agile, Scrum, Kanban PMBOK, ITIL, Waterfall etc Point Tools, Grassroots, Rapid Change Move Fast, Innovate Maintain Quality Stability, Uptime Enterprise class, Corp procurement, Stable Define Plan Code Build Integrate Test Release Deploy Operate
  25. 25. https://www.perforce.com/pdf/continuous-delivery-report.pdf 26
  26. 26. 27 continuous deployment continuous deliverycontinuous integration DevOps → Cultural focus on shared objectives Reliable Repeatable Fast agile CD and DevOps in Context 27
  27. 27. 28 Software changes continuously deployed to live production continuous deployment Software changes continuously delivered to stakeholders in any environment continuous deliverycontinuous integration Automated commit, build and testing of code in the development environment Feedback Rapid Changes Discipline agile An incremental approach to identifying, prioritizing, and coordinating feature development Development Production / Prod-like Live Production Env.Stage Release Deploy Monitor Upstream (left) Downstream (right) Define Plan Code Commit Build Non-Func Test Scan Integrate Int. Test Package Deploy Acct. Test Load Test Change Mgt. Production CD and DevOps in Context 28 DevOps → Cultural focus on shared objectives
  28. 28. Continuous delivery doesn’t mean every change is deployed to production ASAP But with every change it is release ready (which includes depoyable!)
  29. 29. 30 Automation is the Key Photo courtesy of Steve Jurvetson via Flickr
  30. 30. Jenkins Continuous integration and delivery tool
  31. 31. 32 Complex Delivery Pipelines Delivery of App and Config Robust and Highly Available Results Report SOURCE CODE CONTROL SYSTEM Code Commit </> Development Production Continuous Integration/Delivery Commit Build Test Stage Deploy P P P Jenkins – #1 Automation Platform for CI àCD
  32. 32. 3333© 2016 CloudBees, Inc. All Rights Reserved. Code & Commit Build & Config Scan & Test Release Deploy Over 1.2 Million Users 1200+ plugins cover every stage of delivery Jenkins is the Hub of Continuous Delivery
  33. 33. Why?
  34. 34. It connects all the things
  35. 35. It’s extensible
  36. 36. Source: State of Jenkins Survey Sept. 2015 How Do We Know?
  37. 37. Source: 2016 Jenkins Community Survey
  38. 38. Mission Possible: Make CD Accessible to All Cross functional Accessible Simplified Visual Maintainable
  39. 39. Pipeline-as-code Declarative Pipeline Blue Ocean + Infrastructure-as-code The future of CD
  40. 40. 4141 Drive CD with Jenkins Pipeline Development Production Commit Build Stage Deploy ? ? Pipelines Need: P  Branching P  Looping P  Restarts P  Checkpoints P  Manual Input Sonar Test Selenium Test Perf Test Jenkins Pipeline
  41. 41. Pipeline as Code Introduce “pipeline” as a first class in Jenkins Codify stages into an explicit Jenkinsfile in your source repository Resumability/durability of the pipeline state Extend the DSL with your own steps github.com/jenkinsci/pipeline-examples
  42. 42. 43 Pipeline DSL node('docker') { checkout scm /* Grab the abbreviated SHA1 of our pipeline’s commit.*/ sh 'git rev-parse HEAD > GIT_COMMIT' def shortCommit = readFile('GIT_COMMIT').take(6) stage 'Build' def image = docker.build("jenkinsciinfra/bind:build-${shortCommit}") stage 'Deploy' image.push() }
  43. 43. 44 Jenkins Pipeline Stage View Restartable Checkpoints Artifact Downloads
  44. 44. 45 Declarative Pipeline Pipelines can now be defined with a simpler syntax.
  45. 45. 46 Blue Ocean - Pipeline Creation
  46. 46. 47 Blue Ocean - Pipeline Visualization
  47. 47. 48
  48. 48. Tools & Technologies enable “crossing the chasm” Normalized ✓  Language and practice agnostic ✓  Not Dev or Ops specific ✓  Distributed Rich Integration Support ✓  Tools as microservices ✓  Modular Automated ✓  Repeatability ✓  Reportability ✓  Flexibility Confidence In Downstream Deliverables ✓  Support supply- chain ✓  Traceability ✓  Immutability ✓  Measure and report Scale To Enterprise ✓  Cross-domain visibility metrics ✓  Security and governance ✓  Supported 49
  49. 49. Puppet Enterprise And Jenkins Promote & Deploy with Puppet
  50. 50. The toolchain … across all technologies. Version control Infrastructure automation Continuous Integration Deployment automation Monitoring and others … and others … and others …
  51. 51. Where to start Infrastructure as Code Collaboration IterationFast Feedback Visibility Infrastructure Automation Version Control & Peer Review Continuous Integration & Delivery Automated Testing Deployment Automation
  52. 52. Infrastructure as code and continuous delivery pipelines push quality to the left, getting ever closer to the keyboard.
  53. 53. Push quality left ●  Infrastructure code is portable ●  Infrastructure code is repeatable ●  Puppet is idempotent (same result regardless of beginning state) ●  Puppet is declarative (less DevOoops)
  54. 54. Puppet Enterprise Orchestration
  55. 55. Example application App relies on multiple services that span infrastructure Glass Fish F5 LB App API Kerberos SSH Log stash WebSphere App API SSH Log stash F5 LB MS SQL
  56. 56. Database HTTP Example application Use Puppet language to model your application WebSphereApp API SSHLog stash F5 LB MS SQL ●  Services ●  Relationships ●  Dependencies ●  Instances –  Dev, Staging, Production, etc.
  57. 57. Example application Puppet Enterprise determines order and deploys your application.
  58. 58. Puppet Enterprise Code Management
  59. 59. Code management ●  Know exactly when your Puppet code deployments are complete ●  Control who can deploy code into what areas with built-in integration to Role-Based Access Control Deploy code confidently with a new command line interface and API
  60. 60. Jenkinsfile Everything as code
  61. 61. Demo
  62. 62. So what? Use cases
  63. 63. Infrastructure Pipelinehttps://github.com/puppetlabs/jenkins-pipeline-puppet-enterprise-plugin/blob/master/ examples/Jenkinsfile-infrastructure_pipeline
  64. 64. Application Deploymentshttps://github.com/puppetlabs/jenkins-pipeline-puppet-enterprise-plugin/blob/master/ examples/Jenkinsfile-application_service_pipeline
  65. 65. Canary Deploymentshttps://github.com/puppetlabs/jenkins-pipeline-puppet-enterprise-plugin/blob/master/ examples/Jenkinsfile-canary_deployments
  66. 66. Phased Deploymentshttps://github.com/puppetlabs/jenkins-pipeline-puppet-enterprise-plugin/blob/master/ examples/Jenkinsfile-canary_deployments
  67. 67. Jenkins Update Center Available today
  68. 68. Tier 2 CloudBees Certified In the next few weeks
  69. 69. Questions https://puppet.com/Jenkins https://go.cloudbees.com

×