Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
©2014 CloudBees, Inc. All Rights Reserved1
Orchestrating the Continuous Delivery
@singh_harpreet
VP Product Management, 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
Continuous Delivery Defined
3
Deliver faster with lower risk Activities to deploy to production anytimehttps://www.flickr.com/photos/49964356@N07/
©2014 CloudBees, Inc. All Rights Reserved4
Continuous Integration or Continuous Delivery
CIProduction Readiness
Deployment
©2014 CloudBees, Inc. All Rights Reserved5
©2014 CloudBees, Inc. All Rights Reserved6
How much? Everywhere? Let’s see…
©2014 CloudBees, Inc. All Rights Reserved7
HP LaserJet FutureSmart Firmware
- Development costs growing 2.5x from 2004-2008- 10M lines of code
- 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 Reserved8
HP LaserJet FutureSmart FirmwareCode 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 Reserved9
Automation Everywhere!
© Mike Young, HP, 2011, http://bit.ly/1qyJWSM
©2014 CloudBees, Inc. All Rights Reserved10
Continuous Delivery Toolchain
©2014 CloudBees, Inc. All Rights Reserved11
Continuous Integration Starts in
Development
11
Artifacts & Underlying Systems
Toolchain
Dev
Code
Config
Tests
Data
BuildSystem
Packager Packages
Build
Push code change Kick off build, tests, more tests Archive artifacts (library, .war file)
SourceRepo
CI Server ArtifactRepo
©2014 CloudBees, Inc. All Rights Reserved12
Continuous Delivery Emerges for Testing
Deploy artifacts to staging area Connect to needed systems/services Run functional and system tests
12
SourceRepo
CI Server ArtifactRepo
OpsConsole
ResourceModel
InfraManager
StageD
evCode
Config
Tests
Data
BuildSystem
PackagerProvisioning
SystemConfig
AutomationPackages
Build
©2014 CloudBees, Inc. All Rights Reserved13
Ops Has Different Needs Than Dev
13
SourceRepo
ArtifactRepo
OpsConsole
ResourceModel
InfraManager
Op
s
Deploy
StageD
evCode
Config
Tests
Data
BuildSystem
PackagerProvisioning
SystemConfig
Automation
Environment
Specification
Tests
PackagesBuild
SystemPackager
ProvisioningSystem
ConfigAutomation
Images
Packages
Build
Build
“Treating Configuration as Code”
CI Server
©2014 CloudBees, Inc. All Rights Reserved14
But the Toolchains Intersect for Dev and Ops
14
SourceRepo
CI Server ArtifactRepo
OpsConsole
ResourceModel
InfraManager
Op
s
DeployBuild
StageBuildD
ev
Inspired by: http://www.infoq.com/presentations/devops-patterns
©2014 CloudBees, Inc. All Rights Reserved15
• 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?
15
Jenkins is common ground
©2014 CloudBees, Inc. All Rights Reserved16
Continuous IntegrationSource Code
Quality Analysis
Unit Tests
Binaries
©2014 CloudBees, Inc. All Rights Reserved17
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 Reserved18
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 Reserved19
CloudBees Continuous Delivery Platform
©2014 CloudBees, Inc. All Rights Reserved20
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 Reserved21
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 Reserved22
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 Reserved23
23
ManyBuild Jobs
• 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
Build Pipeline View
©2014 CloudBees, Inc. All Rights Reserved24
24
OneWorkflow
Job
Workflow Visualizations
• New job type
• Single place for definition
• Retry-able and restartable
• Reusable workflows
• Text-based DSL
With Jenkins Workflow
Workflow Stage View
Jenkins Workflow – Adding More Value for
CD
GANov
©2014 CloudBees, Inc. All Rights Reserved25
©2014 CloudBees, Inc. All Rights Reserved26
• 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
26