Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at...

23
©2014 CloudBees, Inc. All Rights Reserved 1 Orchestrating the Continuous Delivery Process @SachaLabourey CEO and Founder, CloudBees

Transcript of Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at...

Page 1: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©2014 CloudBees, Inc. All Rights Reserved1

Orchestrating the Continuous Delivery

Process

@SachaLabourey

CEO and Founder, CloudBees

Page 2: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 4: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©2014 CloudBees, Inc. All Rights Reserved4

Page 5: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©2014 CloudBees, Inc. All Rights Reserved5

Do I really need that? Let’s see…

Page 6: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 7: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 8: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©2014 CloudBees, Inc. All Rights Reserved8

Automation Everywhere!

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

Page 9: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 10: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 11: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

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

Page 12: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 13: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 14: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©2014 CloudBees, Inc. All Rights Reserved14

Continuous IntegrationSource Code

Quality Analysis

Unit Tests

Binaries

Page 15: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 16: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 17: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©2014 CloudBees, Inc. All Rights Reserved17

CloudBees Continuous Delivery Platform

Page 18: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 19: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 20: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 21: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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

Page 22: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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!)

Page 23: Orchestrating the Continuous Delivery Process...continuous delivery are different, but intersect at Jenkins •CloudBees offers a continuous delivery platform based on Jenkins that

©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