orchestrating the continuous delivery process...continuous delivery are different, but intersect at...
TRANSCRIPT
©2014 CloudBees, Inc. All Rights Reserved1
Orchestrating the Continuous Delivery
Process
@SachaLabourey
CEO and Founder, CloudBees
©2014 CloudBees, Inc. All Rights Reserved2
Continuous Delivery Overview
Continuous Integration Deployment
Continuous Delivery
BUILD DeployTEST Run
Development Teams…Enterprise
Development Teams Release / Ops Teams
App Lifecycle
Process
Sub-Processes
DevOps
STAGE
Feedback Loop
Managed by…
…SMB
©2014 CloudBees, Inc. All Rights Reserved3
• 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
3
©2014 CloudBees, Inc. All Rights Reserved4
©2014 CloudBees, Inc. All Rights Reserved5
Do I really need that? Let’s see…
©2014 CloudBees, Inc. All Rights Reserved6
HP LaserJet FutureSmart Firmware (10M+ LOC)
- Development costs growing 2.5x from 2004-2008- Up to 10 different branches (driven by each product release)- 80-90% of resources just porting existing FW to new products - Unable to add new products to the plans due to lack of FW
resources- 6 weeks + to get through a complete testing cycle (mainly
manual)- Ongoing customer issues with consistency and lack of features- Marketing had essentially given up asking for FW innovations
©2014 CloudBees, Inc. All Rights Reserved7
HP LaserJet FutureSmart Firmware (10M+ LOC)Code Integration
10%
Detailed Planning20%
Porting Code25%
Current Product Support25%
Manual Testing15%
Capacity for Innovation~5%
Continuous Integration2%
Agile Planning5%
One Main Branch15%
One Branch CPE10%
Most Testing Automated5%
Capacity for Innovation~40%
From 2008…
… to 2011
© Mike Young, HP, 2011, http://bit.ly/1qyJWSM
©2014 CloudBees, Inc. All Rights Reserved8
Automation Everywhere!
© Mike Young, HP, 2011, http://bit.ly/1qyJWSM
©2014 CloudBees, Inc. All Rights Reserved9
It all started with developers: CI
9
SourceRepo
CI Server ArtifactRepo
De
v
Code
Config
Tests
Data
BuildSystem
Packager Packages
Push code change Kick off build, tests, more tests
Archive artifacts (library, .war file)
Artifacts & underlying systems
Toolchain
Build
©2014 CloudBees, Inc. All Rights Reserved10
Deploy artifacts to staging area Connect to needed systems/services Run functional and system tests
Continuous Delivery Emerges for Testing
10
SourceRepo
CI Server
Stage
De
v
Code
Config
Tests
Data
BuildSystem
Packager
Build
ProvisioningSystem
ConfigAutomation
OpsConsole
ResourceModel
InfraManager
Packages
ArtifactRepo
©2014 CloudBees, Inc. All Rights Reserved11
Ops Has Different Needs Than Dev
11
SourceRepo
CI Server ArtifactRepo
OpsConsole
ResourceModel
InfraManager
Op
s
Deploy
Stage
Dev
Code
Config
Tests
Data
BuildSystem
PackagerProvisioning
SystemConfig
Automation
Environment
Specification
Tests
PackagesBuild
SystemPackager
ProvisioningSystem
ConfigAutomation
Images
Packages
Build
Build
“Treating Configuration as Code”
©2014 CloudBees, Inc. All Rights Reserved12
But the Toolchains Intersect for Dev and Ops
12
SourceRepo
CI Server ArtifactRepo
OpsConsole
ResourceModel
InfraManager
Op
s
DeployBuild
StageBuild
Dev
Inspired by: http://www.infoq.com/presentations/devops-patterns
©2014 CloudBees, Inc. All Rights Reserved13
• 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?
13
Jenkins is common ground
©2014 CloudBees, Inc. All Rights Reserved14
Continuous IntegrationSource Code
Quality Analysis
Unit Tests
Binaries
©2014 CloudBees, Inc. All Rights Reserved15
DEV
DEV
OPS
QA
Continuous Delivery Process
Co
nti
nu
ou
s D
eliv
ery
Source Code
Quality Analysis
Unit Tests
Binaries
Perfs Environment
Func Test Environment
UAT Environment
Production Environment
GO LIVE!
Release!
Staging Environment
©2014 CloudBees, Inc. All Rights Reserved16
Jenkins Orchestrates the Toolchain
Continuous Delivery with Jenkins
BUILD STAGE TEST DEPLOY RUN
Too
l
Too
l
Too
l
Too
l
Too
l
Too
l
Too
l
Too
l
Too
l
Too
l
Too
l
©2014 CloudBees, Inc. All Rights Reserved17
CloudBees Continuous Delivery Platform
©2014 CloudBees, Inc. All Rights Reserved18
CloudBees Continuous Delivery Platform
JE JE JE JE
Jenkins Operations Center (JOC)
Hybrid Infrastructure Support
RAW
Continuous Delivery
Management
Monitoring
Operations
Provisioning
Upgrade
DevOps Mobile …
CloudBees Network
VMW Pivotal …
CORE
SOLUTIONS
HYBRID INFRASTRUCTURE SUPPORT
OPERATIONSAT SCALE
©2014 CloudBees, Inc. All Rights Reserved19
Flexible, manageable & reliable @ scale
JOC
AWSPivotal
IaaS
JE JE JE JE JE JE
Customer AWS VPC
JE JE JE
Customer Private Data Center
Static Linux DeploymentsCloudBees Managed Masters and Elastic
Slaves
CloudBees AWS Account
JE
Hybrid deployments, abstraction layer
Cloud deployments benefit from elasticity/on-
demand cloud attributes
©2014 CloudBees, Inc. All Rights Reserved20
On-Premise/Private Cloud
Public Cloud
BUILD TEST STAGE DEPLOY RUN
BUILD TEST STAGE DEPLOY RUN
CloudBees Continuous Delivery Platform
Stage DeployCommit
Build
Code
Test
©2014 CloudBees, Inc. All Rights Reserved21
21
ManyBuild 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
©2014 CloudBees, Inc. All Rights Reserved22
22
OneWorkflow
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 (coming soon!)
©2014 CloudBees, Inc. All Rights Reserved23
• The Dev and Ops automation tool chains 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
23