Paris Container Day 2016 : Orchestrating Continuous Delivery (CloudBees)
Orchestrating the Continuous Delivery Process › sites › default › files ›...
Transcript of Orchestrating the Continuous Delivery Process › sites › default › files ›...
©2014 CloudBees, Inc. All Rights Reserved1
Orchestrating the Continuous Delivery
@stevengharris
SVP Products, 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
How much? Everywhere? Let’s see…
©2014 CloudBees, Inc. All Rights Reserved6
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 Reserved7
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 Reserved8
Automation Everywhere!
© Mike Young, HP, 2011, http://bit.ly/1qyJWSM
©2014 CloudBees, Inc. All Rights Reserved9
Continuous Delivery Toolchain
©2014 CloudBees, Inc. All Rights Reserved10
Continuous Integration Starts in
Development
10
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 Reserved11
Continuous Delivery Emerges for Testing
Deploy artifacts to staging area Connect to needed systems/services Run functional and system tests
11
SourceRepo
CI Server ArtifactRepo
OpsConsole
ResourceModel
InfraManager
StageD
evCode
Config
Tests
Data
BuildSystem
PackagerProvisioning
SystemConfig
AutomationPackages
Build
©2014 CloudBees, Inc. All Rights Reserved12
Ops Has Different Needs Than Dev
12
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 Reserved13
But the Toolchains Intersect for Dev and Ops
13
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 Reserved14
• 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?
14
Jenkins is common ground
©2014 CloudBees, Inc. All Rights Reserved15
Continuous IntegrationSource Code
Quality Analysis
Unit Tests
Binaries
©2014 CloudBees, Inc. All Rights Reserved16
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 Reserved17
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 Reserved18
CloudBees Continuous Delivery Platform
©2014 CloudBees, Inc. All Rights Reserved19
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 Reserved20
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 Reserved21
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 Reserved22
22
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 Reserved23
23
OneWorkflow
Job
Build Pipeline View
• New job type
• Single place for definition
• Retry-able and restartable
• Reusable workflows
• Text-based DSL
With Jenkins Workflow
New visualizations coming!
Jenkins Workflow – Adding More Value for
CD
GANov
©2014 CloudBees, Inc. All Rights Reserved24
• 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
24