automation: the continuous delivery engine steve harris · automation: the continuous delivery...
TRANSCRIPT
62
Automation: The Continuous
Delivery Engine
Steve Harris
SVP of Products
@stevengharris
@cloudbees
Automation – The Continuous Delivery Engine
Steve Harris
SVP Products, CloudBees
@stevengharris
• 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
Continuous Delivery Defined
64 ©2014 CloudBees, Inc. All rights reserved
CloudBees Continuous Delivery Solutions
65 ©2014 CloudBees, Inc. All rights reserved
Deploy To The CloudBees Continuous Delivery Platform
Continuous Integration Deployment
Build
Test
Code
Commit In the Cloud
or On Premise
Powered by Jenkins
Development Teams Ops Teams
Stage Deploy
PaaS
Public
Cloud
On Premise
DevOps
Deployment Targets
• 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
What Continuous Delivery IS and IS NOT
66 ©2014 CloudBees, Inc. All rights reserved
• Shared goal: delivering service to end-users
• Continuous delivery is typically in the mix
What’s This DevOps Stuff?
67 ©2014 CloudBees, Inc. All rights reserved
Wikipedia… A software development method that stresses communication, collaboration and integration
between software developers and IT operations professionals
Dev Ops
• It’s hard!!!
• Most barriers are not technical
If It’s So Great, Why Doesn’t Everyone Do It?
68 ©2014 CloudBees, Inc. All rights reserved
0% 10% 20% 30% 40% 50%
Organizational Culture
Lack of Dev+Ops Integration
Technical Hurdles
Lack of Understanding
Business Readiness
Barriers to Continuous Delivery
http://blog.devopsguys.com/2013/03/13/continuous-delivery-adoption-barriers/
But Lots of Organizations Are Trying
69 ©2014 CloudBees, Inc. All rights reserved
With support from the top!
http://go.xebialabs.com/rs/xebialabs/images/XEBIALABS%20-%20survey-Report-2014.pdf
Continuous Integration Starts in Development
71 ©2014 CloudBees, Inc. All rights reserved
Source Repo
CI Server Artifact Repo
Dev
Code
Config
Tests
Data
Build System
Packager Packages
• Push code change Kick off build, tests, more tests
Archive artifacts (library, .war file)
Artifacts & underlying systems
Toolchain
Build
• Deploy artifacts to staging area Connect to needed
systems/services Run functional and system tests
Continuous Delivery Emerges for Testing
72 ©2014 CloudBees, Inc. All rights reserved
Source Repo
CI Server Artifact Repo
Ops Console
Resource Model
Infra Manager
Stage
Dev
Code
Config
Tests
Data
Build System
Packager Provisioning
System Config
Automation Packages
Build
Ops Has Different Needs Than Dev
73 ©2014 CloudBees, Inc. All rights reserved
Source Repo
CI Server Artifact Repo
Ops Console
Resource Model
Infra Manager
Op
s
Deploy
Stage
Dev
Code
Config
Tests
Data
Build System
Packager Provisioning
System Config
Automation
Environment
Specification
Tests
Packages
Build System
Packager Provisioning
System Config
Automation
Images
Packages
Build
Build
“Treating Configuration as Code”
But the Toolchains Intersect for Dev and Ops
74 ©2014 CloudBees, Inc. All rights reserved
Source Repo
CI Server Artifact Repo
Ops Console
Resource Model
Infra Manager
Op
s
Deploy Build
Stage Build
Dev
Inspired by: http://www.infoq.com/presentations/devops-patterns
• 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
Why the Difference in Toolchain Choices?
75 ©2014 CloudBees, Inc. All rights reserved
Jenkins is common ground
• Define and create a working system from a pool of infrastructure:
• Update that system with changes as needed
• These tools help ops “treat configuration as code”
What Are Chef and Puppet? Infrastructure Automation/Orchestration
76 ©2014 CloudBees, Inc. All rights reserved
Database Server Network Mgmt
Web Server App Server
Router Firewall
• 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
Other Tools and Considerations for Ops and
Mgmt
77 ©2014 CloudBees, Inc. All rights reserved
Your automation toolchain must work with many different existing systems to be in the game
Mobile Toolchain Is Different
78 ©2014 CloudBees, Inc. All rights reserved
Static Source Code Analysis
Beta Test Distribution
Mobile Optimization
LINT
Build Tools
Cloud Testing
©2014 CloudBees, Inc. All Rights Reserved 80
On-Premise/Private Cloud
Public Cloud
BUILD TEST STAGE DEPLOY RUN
BUILD TEST STAGE DEPLOY RUN
CloudBees Continuous Delivery Platform
Stage Deploy Commit
Build
Code
Test
Elastic Cloud Pools
81 ©2014 CloudBees, Inc. All rights reserved
VMWare On-Prem
Vsphere Cloud Plugin
EC2 Plugin
Jenkins, JEBC, JOC
CloudBees VMW Autoscale Plugin
CloudBees Elastic Cloud Pool Plugin
Use as a shared cloud across client masters with JOC
Full isolation using CloudBees technology
• 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?
Traceability Thru Deployment
82 ©2014 CloudBees, Inc. All rights reserved
Traceability in Action
83 ©2014 CloudBees, Inc. All rights reserved
Dev
Ops
Traceability to the checkin Traceability to the deployment Traceability to the machine
84 ©2014 CloudBees, Inc. All rights reserved
Many Build Jobs
Build Pipeline View
• Requires many plugins
• Workflow definition
distributed across many jobs
• Failures cause big problems!
• Limited re-usability
Issues
Ref: http://www.infoq.com/articles/orch-pipelines-jenkins
Improving Continuous Delivery Workflow
85 ©2014 CloudBees, Inc. All rights reserved
One Workflow
Job
Build Pipeline View
• New job type
• Single place for definition
• Retry-able and restartable
• Reusable workflows
• Text-based DSL
With Workflow
New visualizations coming!
Jenkins Workflow – A Big Deal for CD
• 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
Conclusions
86 ©2014 CloudBees, Inc. All rights reserved
IT Driving Forces: Developers & IT Ops
88 ©2014 CloudBees, Inc. All rights reserved
Photo Credit: Joseph Viles/ The CW Photo Credit: http://www.sysadminday.com/people.html
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
An Impossible Love?
89 ©2014 CloudBees, Inc. All rights reserved