CloudBees CTO,Jenkins 创始人和主要开发者 Kohsuke Kawaguchi(川口耕介) - 持续集成之 Why、What & How

Automation has been somewhat unsexy but steady force in the software development world, and it has taken many names and shapes. Continuous Delivery is one of the current shapes automation takes, and this is driving an important change in how we work and how we develop software. As more and more business becomes technology business, adopting Continuous Delivery as a practice can make or break business. In this session, the creator of Jenkins discusses why it is important, what it means, and how you get there.

1. Why, What, and How of Continuous Delivery
2. Automation is the Key © 2016 CloudBees, Inc. All Rights Reserved. 2 Photo courtesy of Steve Jurvetson via Flickr
3. Time to Assemble a Model-T 12.5 hrs ↓ 1.5 hrs © 2016 CloudBees, Inc. All Rights Reserved. 3
4. Incredible Efficiency of Assembly Line Ford built 300,000 cars with 13,000 employees That’s more than their 300 competitors combined, with 65,000 employees © 2016 CloudBees, Inc. All Rights Reserved. 4
5. © 2016 CloudBees, Inc. All Rights Reserved. 5
6. Software is eating the world © 2016 CloudBees, Inc. All Rights Reserved. 6
7. © 2016 CloudBees, Inc. All Rights Reserved. 7 Photo courtesy of Steve Jurvetson via Flickr
8. © 2016 CloudBees, Inc. All Rights Reserved. 8 Photo courtesy of Steve Jurvetson via Flickr
9. © 2016 CloudBees, Inc. All Rights Reserved. 9
10. © 2016 CloudBees, Inc. All Rights Reserved. 10
11. © 2016 CloudBees, Inc. All Rights Reserved. 11
12. Tomorrow is around the corner… © 2016 CloudBees, Inc. All Rights Reserved. 12
13. Software is eating the world © 2016 CloudBees, Inc. All Rights Reserved. 13
14. © 2016 CloudBees, Inc. All Rights Reserved. 14
15. © 2016 CloudBees, Inc. All Rights Reserved. 15
16. © 2016 CloudBees, Inc. All Rights Reserved. 16
17. © 2016 CloudBees, Inc. All Rights Reserved. 17
18. Software is eating the world © 2016 CloudBees, Inc. All Rights Reserved. 18
19. Evolution is required. But it is hard. (Millions) 30 25 “20If you don’t like change, 15you’re going to like 10irrelevance even less.” 5 0– General Eric Shinseki 1995 2000 2005 2010 Analog Digital © 2016 CloudBees, Inc. All Rights Reserved. 19
20. “Nonstop demand is the #1 problem facing IT departments today.” “Reorganizing IT for faster software delivery” “Continually optimize the IT delivery model” “Real Time DevOps” “#3. Speed of IT Delivery” “DevOps helps drive faster software development” “DevOps can accelerate delivery 15-20%” “Agile & Incremental Software Delivery” “Continuous delivery” © 2016 CloudBees, Inc. All Rights Reserved. 20
21. Speed + Friction = Heat © 2016 CloudBees, Inc. All Rights Reserved. 21
22. Continuous Delivery and Automation are The Answer Commit Build Test Stage Deploy Development Feedback Loop $ The Business Production © 2016 CloudBees, Inc. All Rights Reserved. 22
23. Continuous Delivery In Context Rapid Changes User Feedback Discipline AGILE An incremental approach to identifying, prioritizing, and coordinating feature development Continuous Integration Automated commit, build and testing of code in the development environment Continuous Continuous Delivery Deployment Software changes continuously delivered to stakeholders in any environment Software changes continuously deployed to live production Stage Env. Development Production / Prod-like Live Production Upstream (left) Downstream (right) Define Plan Code Change Mgt. Compile Build Unit Test Analyze Integrate Int. Test Package Place Load Test Acct. Test Release Deploy Monitor DevOps  Cultural approaches & technical practices Production Bugs © 2016 CloudBees, Inc. All Rights Reserved. 23
24. Who You Wanna Be “Netflix deploys a hundred times per day” “Amazon deploys every 11.6 seconds” © 2016 CloudBees, Inc. All Rights Reserved. 24
25. Who You ACTUALLY Are Google Doc driven deployment Ops guy work through the night Deployment every once in 2 weeks © 2016 CloudBees, Inc. All Rights Reserved. 25
26. © 2016 CloudBees, Inc. All Rights Reserved. 26
27. VM CONTINUOUS DELIVERY JENKINS CONTINUOUS DELIVERY Nexus DevOps Word Soup GIT SCRUM SCM PERFORCE CONTINOUS INTEGRATION NEW RELIC GIT TEST AUTOMATION SCRUM BLAZE METER STOP THE LINE XP DEVOPS SECOPS LEAN GITLAB MICROSERVICES SCRUM MICROSERVICES CONTINUOUS DEPLOYMENT CONTINUOUS IMPROVEMENT © 2016 CloudBees, Inc. All Rights Reserved. 27
28. © 2016 CloudBees, Inc. All Rights Reserved. 28
29. Where are we? SIMPLIFY Where are we going? How do we get there? © 2016 CloudBees, Inc. All Rights Reserved. 29
30. © 2016 CloudBees, Inc. All Rights Reserved. 30
31. Maturing Organization & Culture
32. X-Axis: SDLC Phases Agile Upstream 33% Agile Downstream 13% Define Plan Code Build Integrate Test Release Deploy Operate Source: February 5, 2014, “How Can You Scale Your Agile Adoption?” Forrester report © 2016 CloudBees, Inc. All Rights Reserved. 32
33. Cycle Times: Mixed Streams Agile Upstream 33% Non-Agile Downstream 87% Define Plan Code Build Integrate Test Release Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 33
34. Cycle Times: Mixed Streams Agile Upstream 33% Non-Agile Downstream 87% Weeks, Days or Hours Define Plan Code Build Integrate Test Release Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 34
35. Cycle Times: Mixed Streams Agile Upstream 33% Weeks, Days or Hours Define Plan Code Build Non-Agile Downstream 87% Weeks to Months Integrate Test Release Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 35
36. Cycle Times: Mixed Streams Time-to-Market >Months Agile Upstream Non-Agile Downstream 33% Weeks, Days or Hours 87% Weeks to Months Define Plan Code Build Integrate Test Release Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 36
37. Y-Axis: Levels of Adoption Workgroup Enterprise 22Enterprise Agile Upstream % 10Enterprise DevOps % 33Agile Upstream % 13Agile Downstream % Define Plan Code Build Integrate Test Release Deploy Operate Source: February 5, 2014, “How Can You Scale Your Agile Adoption?” Forrester report © 2016 CloudBees, Inc. All Rights Reserved. 37 Team
38. The Destination Workgroup Enterprise 22Enterprise Agile Upstream % 33Agile Upstream % Enterprise DevOps • Innovate faster • Increased productivity • Respond to market • Gain competitive advantage • Employee satisfaction and retention 13Agile Downstream % Define Plan Code Build Integrate Test Release Deploy Operate Team © 2016 CloudBees, Inc. All Rights Reserved. 38
39. The Chasms Upstream People & Culture Move Fast, Innovate Process & Practices Tools & Technology Agile, Scrum, Kanban Point tools, Grassroots, Rapid changes Downstream Quality, Stability, Uptime PMBOK, ITIL, Waterfall Enterprise class, Corp. Procurement, Stability Define Plan Code Build Integrate Test Release Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 39
40. The Quadrants Workgroup Enterprise Quadrant 3: Enterprise Agile Quadrant 4: Enterprise DevOps Quadrant 1: Team-level Agile Quadrant 2: Team-level CD Define Plan Code Build Integrate Test Release Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 40 Team
41. The Quadrants and Adoption Patterns
42. Adoption Pattern #1 Team Agile > Ent. Agile > Ent. DevOps 1. Team(s) adopt agile planning and project management 2. Organization implements agile definition, planning, and project management 3. Organization aligns on DevOps strategy with teams using common CI/CD process and tools Workgroup Enterprise 2 1 3 Team Define Plan Code Build/CI Test Release/Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 42
43. Adoption Pattern #2 Agile > CD > Enterprise Agile > DevOps 1. Team(s) adopt agile planning and project management 2. Team(s) extend CI to Continuous Delivery 3. Organization implements agile 4. Organization aligns on DevOps strategy with teams using common CI/CD process and tools Workgroup Enterprise 34 12 Team Define Plan Code Build/CI Test Release/Deploy Operate © 2016 CloudBees, Inc. All Rights Reserved. 43
44. Adoption Cycles: Bottom-Up Workgroup Enterprise Visibility 2 Executive Awareness 5 Executive Support Workgroup Success 4 Adoption 6 Scale Across Workgroups Team Team Level Initiation 1 3 Team Successes Time © 2016 CloudBees, Inc. All Rights Reserved. 44
45. Adoption Cycles: Top-Down Workgroup Enterprise Visibility 1 Executive Initiative Workgroup Initiative 2 Workgroup Success 4 Team 3 Team Successes Time Adoption 5 Scale Across Workgroups © 2016 CloudBees, Inc. All Rights Reserved. 45
46. DevOps Transformation Strategies 1. Identify pilot project 2. Form cross-functional “red” team 3. Adopt unifying technologies 4. Establish plan with measurable KPIs and milestones 5. Go! 6. Measure, document, refine 7. Scale and onboard © 2016 CloudBees, Inc. All Rights Reserved. 46
47. Maturing Engineering Practice
48. Infrastructure Architecture Automation Pipeline © 2016 CloudBees, Inc. All Rights Reserved. 48
49. Automation is the foundation for everything Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time.[1] It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery. from Wikipedia “Continuous delivery” © 2016 CloudBees, Inc. All Rights Reserved. 49
50. Architecture / Implementation techniques • Feature flags • Activate/kill code at runtime • Dark launches • Put production workload without users seeing them • Ease in new things • Microservices • Deploy different parts independently • Reduce coupling © 2016 CloudBees, Inc. All Rights Reserved. 50
51. CD Pipelines that detect & reject problems dev qa production © 2016 CloudBees, Inc. All Rights Reserved. 51
52. Well-placed control points that “filter out” bad changes Automated validation as exit criteria from code review Reliable tests Control points that trade speed vs thoroughness in proper order © 2016 CloudBees, Inc. All Rights Reserved. 52
53. Infrastructure that enables Tolerate problems & contain damages • Blue/green deployment • Canary release Prevent errors • Phoenix servers • Immutable infrastructure © 2016 CloudBees, Inc. All Rights Reserved. 53
54. Crawl, Walk, Run © 2016 CloudBees, Inc. All Rights Reserved. 54
55. © 2016 CloudBees, Inc. All Rights Reserved. 55
56. Jenkins – the #1 Automation Platform for CI/CD Commit Build Test Stage Deploy Continuous Integration/Delivery Development </> Code Commit SOURCE CODE CONTROL SYSTEM Production  Complex Delivery Pipelines  Delivery of App and Config  Robust and Highly Available Results Report Deliver Better Software Faster with CloudBees Jenkins Platform © 2016 CloudBees, Inc. All Rights Reserved. 56
57. Jenkins is the Hub of CD/DevOps Ecosystem Over 1000 Jenkins Plugins Integration with over 100 DevOps Tools Orchestration of the DevOps Toolchain End-to-End CD Pipeline Management Code & Commit Build & Config Scan & Test Release Deploy © 2016 CloudBees, Inc. All Rights Reserved. 57
58. Jenkins Popularity is Through The Roof 120,000 100,000 80,000 60,000 40,000 20,000 Active Jenkins Installations Worldwide Total Jenkins Jobs Worldwide 7,000,000 6,000,000 5,000,000 4,000,000 3,000,000 2,000,000 1,000,000 RebelLabs 2014 Java tools & technologies survey 0 11/1/2008 11/1/2009 11/1/2010 11/1/2011 11/1/2012 11/1/2013 11/1/2014 http://stats.jenkins-ci.org/jenkins-stats 0 © 2016 CloudBees, Inc. All Rights Reserved. 58
59. Jenkins Installations 150,000 ▲37% © 2016 CloudBees, Inc. All Rights Reserved. 59
60. Jenkins Workload 12,300,000 jobs ▲54% © 2016 CloudBees, Inc. All Rights Reserved. 60
61. # of Computers 570,000 ▲41% © 2016 CloudBees, Inc. All Rights Reserved. 61
62. why? © 2016 CloudBees, Inc. All Rights Reserved. 62
63. It’s extensible & easy to use © 2016 CloudBees, Inc. All Rights Reserved. 63
64. It connects all the things © 2016 CloudBees, Inc. All Rights Reserved. 64
65. It’s a key to going fast © 2016 CloudBees, Inc. All Rights Reserved. 65
66. 10 of the Fortune 100 financial services companies bank on CloudBees © 2016 CloudBees, Inc. All Rights Reserved. 66
67. 7 of the Fortune 100 technology companies deliver innovation on CloudBees © 2016 CloudBees, Inc. All Rights Reserved. 67
68. 2/3 of the Fortune 100 telecom companies speed up delivery with CloudBees © 2016 CloudBees, Inc. All Rights Reserved. 68
69. 3 of the 4 US credit card networks speed transactions with CloudBees © 2016 CloudBees, Inc. All Rights Reserved. 69
70. Let’s Eat The World And let Jenkins & CloudBees help you © 2016 CloudBees, Inc. All Rights Reserved. 70
71. THANK YOU! www.cloudbees.com Software at the speed of ideas