automation: the continuous delivery engine steve harris · automation: the continuous delivery...

28
62 Automation: The Continuous Delivery Engine Steve Harris SVP of Products @stevengharris @cloudbees

Upload: haanh

Post on 28-Jul-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

62

Automation: The Continuous

Delivery Engine

Steve Harris

SVP of Products

@stevengharris

@cloudbees

Automation – The Continuous Delivery Engine

Steve Harris

SVP Products, CloudBees

@stevengharris

[email protected]

• 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

64 ©2014 CloudBees, Inc. All rights reserved

CloudBees Continuous Delivery Solutions

65 ©2014 CloudBees, Inc. All rights reserved

Deploy To The CloudBees Continuous Delivery Platform

Continuous Integration Deployment

Build

Test

Code

Commit In the Cloud

or On Premise

Powered by Jenkins

Development Teams Ops Teams

Stage Deploy

PaaS

Public

Cloud

On Premise

DevOps

Deployment Targets

• Does not require developers deploying to production

– Scary for most companies

– DOA from an ops perspective in most companies

• Does not require wholesale adoption across a

company

– Release-readiness can be used effectively between software

producers and their consumers

– But really succeeds with top-level endorsement and initiatives

• Very closely related to DevOps

What Continuous Delivery IS and IS NOT

66 ©2014 CloudBees, Inc. All rights reserved

• Shared goal: delivering service to end-users

• Continuous delivery is typically in the mix

What’s This DevOps Stuff?

67 ©2014 CloudBees, Inc. All rights reserved

Wikipedia… A software development method that stresses communication, collaboration and integration

between software developers and IT operations professionals

Dev Ops

• It’s hard!!!

• Most barriers are not technical

If It’s So Great, Why Doesn’t Everyone Do It?

68 ©2014 CloudBees, Inc. All rights reserved

0% 10% 20% 30% 40% 50%

Organizational Culture

Lack of Dev+Ops Integration

Technical Hurdles

Lack of Understanding

Business Readiness

Barriers to Continuous Delivery

http://blog.devopsguys.com/2013/03/13/continuous-delivery-adoption-barriers/

But Lots of Organizations Are Trying

69 ©2014 CloudBees, Inc. All rights reserved

With support from the top!

http://go.xebialabs.com/rs/xebialabs/images/XEBIALABS%20-%20survey-Report-2014.pdf

The Toolchain for Automating

Continuous Delivery

70

Continuous Integration Starts in Development

71 ©2014 CloudBees, Inc. All rights reserved

Source Repo

CI Server Artifact Repo

Dev

Code

Config

Tests

Data

Build System

Packager Packages

• Push code change Kick off build, tests, more tests

Archive artifacts (library, .war file)

Artifacts & underlying systems

Toolchain

Build

• Deploy artifacts to staging area Connect to needed

systems/services Run functional and system tests

Continuous Delivery Emerges for Testing

72 ©2014 CloudBees, Inc. All rights reserved

Source Repo

CI Server Artifact Repo

Ops Console

Resource Model

Infra Manager

Stage

Dev

Code

Config

Tests

Data

Build System

Packager Provisioning

System Config

Automation Packages

Build

Ops Has Different Needs Than Dev

73 ©2014 CloudBees, Inc. All rights reserved

Source Repo

CI Server Artifact Repo

Ops Console

Resource Model

Infra Manager

Op

s

Deploy

Stage

Dev

Code

Config

Tests

Data

Build System

Packager Provisioning

System Config

Automation

Environment

Specification

Tests

Packages

Build System

Packager Provisioning

System Config

Automation

Images

Packages

Build

Build

“Treating Configuration as Code”

But the Toolchains Intersect for Dev and Ops

74 ©2014 CloudBees, Inc. All rights reserved

Source Repo

CI Server Artifact Repo

Ops Console

Resource Model

Infra Manager

Op

s

Deploy Build

Stage Build

Dev

Inspired by: http://www.infoq.com/presentations/devops-patterns

• 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?

75 ©2014 CloudBees, Inc. All rights reserved

Jenkins is common ground

• Define and create a working system from a pool of infrastructure:

• Update that system with changes as needed

• These tools help ops “treat configuration as code”

What Are Chef and Puppet? Infrastructure Automation/Orchestration

76 ©2014 CloudBees, Inc. All rights reserved

Database Server Network Mgmt

Web Server App Server

Router Firewall

• Identity and Access Management Systems

• Release Management

• Change Management

• Requirements Tracking

• Bug/Issue Tracking

• Approval Processing

• Auditing Systems

• Workflow Systems

• Compliance Tracking

• Customer Support System

Other Tools and Considerations for Ops and

Mgmt

77 ©2014 CloudBees, Inc. All rights reserved

Your automation toolchain must work with many different existing systems to be in the game

Mobile Toolchain Is Different

78 ©2014 CloudBees, Inc. All rights reserved

Static Source Code Analysis

Beta Test Distribution

Mobile Optimization

LINT

Build Tools

Cloud Testing

CloudBees Continuous Delivery Platform

… highlighting some new capabilities!

79

©2014 CloudBees, Inc. All Rights Reserved 80

On-Premise/Private Cloud

Public Cloud

BUILD TEST STAGE DEPLOY RUN

BUILD TEST STAGE DEPLOY RUN

CloudBees Continuous Delivery Platform

Stage Deploy Commit

Build

Code

Test

Elastic Cloud Pools

81 ©2014 CloudBees, Inc. All rights reserved

VMWare On-Prem

Vsphere Cloud Plugin

EC2 Plugin

Jenkins, JEBC, JOC

CloudBees VMW Autoscale Plugin

CloudBees Elastic Cloud Pool Plugin

Use as a shared cloud across client masters with JOC

Full isolation using CloudBees technology

• Jenkins can already record a fingerprint that can be

used to identify an artifact produced by a build (e.g., a

.war file, an app, a library)

• Now when you deploy using Puppet and Chef, they

can tell Jenkins that “the artifact with this fingerprint

was deployed on this machine at this time”

• Helps answer tough questions…

– What machines have the fix for this bug?

– Which machines have not been patched with this security fix?

– Has my fix made it into production?

Traceability Thru Deployment

82 ©2014 CloudBees, Inc. All rights reserved

Traceability in Action

83 ©2014 CloudBees, Inc. All rights reserved

Dev

Ops

Traceability to the checkin Traceability to the deployment Traceability to the machine

84 ©2014 CloudBees, Inc. All rights reserved

Many Build 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

85 ©2014 CloudBees, Inc. All rights reserved

One Workflow

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

• 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

86 ©2014 CloudBees, Inc. All rights reserved

87 ©2014 CloudBees, Inc. All rights reserved

IT Driving Forces: Developers & IT Ops

88 ©2014 CloudBees, Inc. All rights reserved

Photo Credit: Joseph Viles/ The CW Photo Credit: http://www.sysadminday.com/people.html

Mr. Developer Interests & Hobbies:

• Give a try to the last framework

• Put in the application that runs in

production, the last shiny object seen at a

conference

• Participate to the Scala vs. Ceylon

debate, static vs. dynamic typing, etc.

• Dream of meeting with James Gosling

Mr. Sys Admin/Ops Interests and Hobbies:

• Not to be beeped at 2am in the morning

• Not to be beeped at 2am in the morning

• Participate to the Debian vs. Fedora vs.

Ubuntu debate

• Dream of meeting with Linus Torvald

An Impossible Love?

89 ©2014 CloudBees, Inc. All rights reserved