Automation: The Continuous Delivery Engine. Steve Harris. SVP

Size: px
Start display at page:

Download "Automation: The Continuous Delivery Engine. Steve Harris. SVP"

Transcription

1 Automation: The Continuous Delivery Engine Steve Harris SVP 62

2 Automation The Continuous Delivery Engine Steve Harris SVP Products,

3 Continuous Delivery Defined For the business person: Continuous delivery is a methodology that allows you to deliver new software and update existing software faster, with lower risk For the technical person: Continuous delivery encompasses the set of activities you use to ensure you are ready to deploy code and configuration changes into production at all times In relation to Continuous Integration: CD extends CI to include the concept of deployment and testing for production readiness 64

4 CloudBees Continuous Delivery Solutions The CloudBees Continuous Delivery Platform Deploy To Continuous Integration Deployment Deployment Targets Build PaaS In the Cloud or On Premise Commit Code Test Stage Deploy Public Cloud Development Teams DevOps Ops Teams On Premise Powered by Jenkins 65

5 What Continuous Delivery IS and IS NOT Does not require developers deploying to production Scary for most companies DOA from an ops perspective in most companies Does not require wholesale adoption across a company Release-readiness can be used effectively between software producers and their consumers But really succeeds with top-level endorsement and initiatives Very closely related to DevOps 66

6 What s This DevOps Stuff? Wikipedia A software development method that stresses communication, collaboration and integration between software developers and IT operations professionals Dev Ops Shared goal: delivering service to end-users Continuous delivery is typically in the mix 67

7 If It s So Great, Why Doesn t Everyone Do It? Barriers to Continuous Delivery 0% 10% 20% 30% 40% 50% Organizational Culture Lack of Dev+Ops Integration Technical Hurdles Lack of Understanding Business Readiness It s hard!!! Most barriers are not technical 68

8 But Lots of Organizations Are Trying With support from the top! 69

9 The Toolchain for Automating Continuous Delivery 70

10 Dev Continuous Integration Starts in Development Code Build Config Tests Build System Packager Packages Artifacts & underlying systems Data Source Repo CI Server Artifact Repo Toolchain Push code change Kick off build, tests, more tests Archive artifacts (library,.war file) 71

11 Dev Continuous Delivery Emerges for Testing Code Build Stage Config Tests Build System Packager Packages Provisioning System Config Automation Data Source Repo CI Server Artifact Repo Ops Console Resource Model Infra Manager Deploy artifacts to staging area Connect to needed systems/services Run functional and system tests 72

12 Ops Dev Ops Has Different Needs Than Dev Code Build Stage Config Tests Build System Packager Packages Provisioning System Config Automation Data Source Repo CI Server Artifact Repo Ops Console Resource Model Infra Manager Environment Packages Specification Build System Packager Provisioning System Config Automation Tests Treating Configuration as Code Build Images Deploy 73

13 Ops Dev But the Toolchains Intersect for Dev and Ops Build Stage Source Repo CI Server Artifact Repo Ops Console Resource Model Infra Manager Build Deploy Inspired by: 74

14 Why the Difference in Toolchain Choices? Dev Speed, coding, functionality, quality Favor local optimization on process, pet tools, fast feedback Ops Auditing, security, compliance, availability, risk avoidance Favor central control, reproducibility, traceability, process Much larger set of constraints, rules, surrounding systems Legacy issues Jenkins is common ground 75

15 What Are Chef and Puppet? Infrastructure Automation/Orchestration Define and create a working system from a pool of infrastructure: Web Server App Server Firewall Router Database Server Network Mgmt Update that system with changes as needed These tools help ops treat configuration as code 76

16 Other Tools and Considerations for Ops and Mgmt Identity and Access Management Systems Release Management Change Management Requirements Tracking Bug/Issue Tracking Approval Processing Auditing Systems Workflow Systems Compliance Tracking Customer Support System Your automation toolchain must work with many different existing systems to be in the game 77

17 Mobile Toolchain Is Different Mobile Optimization Static Source Code Analysis LINT Build Tools Beta Test Distribution Cloud Testing 78

18 CloudBees Continuous Delivery Platform highlighting some new capabilities! 79

19 Public Cloud BUILD TEST STAGE DEPLOY RUN Build Commit Test Stage Deploy Code CloudBees Continuous Delivery Platform BUILD TEST STAGE DEPLOY RUN On-Premise/Private Cloud 2014 CloudBees, Inc. All Rights Reserved 80

20 Elastic Cloud Pools Use as a shared cloud across client masters with JOC Full isolation using CloudBees technology CloudBees Elastic Cloud Pool Plugin EC2 Plugin CloudBees VMW Autoscale Plugin Jenkins, JEBC, JOC Vsphere Cloud Plugin VMWare On-Prem 81

21 Traceability Thru Deployment Jenkins can already record a fingerprint that can be used to identify an artifact produced by a build (e.g., a.war file, an app, a library) Now when you deploy using Puppet and Chef, they can tell Jenkins that the artifact with this fingerprint was deployed on this machine at this time Helps answer tough questions What machines have the fix for this bug? Which machines have not been patched with this security fix? Has my fix made it into production? 82

22 Traceability in Action Dev Traceability to the checkin Traceability to the deployment Traceability to the machine Ops 83

23 Improving Continuous Delivery Workflow Issues Requires many plugins Workflow definition distributed across many jobs Failures cause big problems! Limited re-usability Build Pipeline View Many Build Jobs Ref: 84

24 Jenkins Workflow A Big Deal for CD With Workflow New job type Single place for definition Retry-able and restartable Reusable workflows Text-based DSL Build Pipeline View One Workflow Job New visualizations coming! 85

25 Conclusions The dev and ops automation toolchains to support continuous delivery are different, but intersect at Jenkins CloudBees offers a continuous delivery platform based on Jenkins that runs on-prem, in the cloud, or bridges those worlds simply and securely New features being surfaced in Jenkins are extending its reach even further to support continuous delivery 86

26 87

27 IT Driving Forces: Developers & IT Ops Photo Credit: Joseph Viles/ The CW Photo Credit: 88

28 An Impossible Love? Mr. Developer Interests & Hobbies: Give a try to the last framework Put in the application that runs in production, the last shiny object seen at a conference Participate to the Scala vs. Ceylon debate, static vs. dynamic typing, etc. Dream of meeting with James Gosling Mr. Sys Admin/Ops Interests and Hobbies: Not to be beeped at 2am in the morning Not to be beeped at 2am in the morning Participate to the Debian vs. Fedora vs. Ubuntu debate Dream of meeting with Linus Torvald 89