Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1...

26
©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process [email protected] @singh_harpreet VP Product Management, CloudBees

Transcript of Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1...

Page 1: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved1

Orchestrating the Continuous Delivery

[email protected]

@singh_harpreet

VP Product Management, CloudBees

Page 2: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 3: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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/

Page 4: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved4

Continuous Integration or Continuous Delivery

CIProduction Readiness

Deployment

Page 5: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved5

Page 6: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved6

How much? Everywhere? Let’s see…

Page 7: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 8: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 9: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved9

Automation Everywhere!

© Mike Young, HP, 2011, http://bit.ly/1qyJWSM

Page 10: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved10

Continuous Delivery Toolchain

Page 11: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 12: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 13: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 14: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 15: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 16: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved16

Continuous IntegrationSource Code

Quality Analysis

Unit Tests

Binaries

Page 17: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 18: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 19: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved19

CloudBees Continuous Delivery Platform

Page 20: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 21: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 22: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 23: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 24: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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

Page 25: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©2014 CloudBees, Inc. All Rights Reserved25

Page 26: Orchestrating the Continuous Delivery Process...©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process harpreet@cloudbees.com @singh_harpreet VP

©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