41
#JenkinsWorld Starting and Scaling DevOps in the Enterprise Gary Gruver Brian Dawson

Starting and Scaling DevOps

Embed Size (px)

Citation preview

Page 1: Starting and Scaling DevOps

#JenkinsWorld

Starting and Scaling DevOps in the Enterprise

Gary Gruver Brian Dawson

Page 2: Starting and Scaling DevOps

Agenda

• Defining DevOps

• Quantify DevOps in 4Qs

• Starting and Scaling DevOps

• Q&A

Page 3: Starting and Scaling DevOps

Speakers

Gary GruverPresidentGruver Consulting LLC

Brian DawsonDevOps EvangelistCloudBees Inc

Page 4: Starting and Scaling DevOps

Defining DevOps

Page 5: Starting and Scaling DevOps

Gene Kim Quote

This is my personal definition: I would define DevOps by the outcomes. In my mind, DevOps is

those set of cultural norms and technology practices that enable the fast flow of planned work from, among others, development, through tests

into operations while preserving world class reliability, operation and security.

DevOps is not about what you do, but what your outcomes are. So many things that we associate

with DevOps fits underneath this very broad umbrella of beliefs and practices—which of

course, communication and culture are part of them.

”© Gruver Consulting

Page 6: Starting and Scaling DevOps

6

Software changes continuously deployed to live production

Continuous Deployment

Software changes continuously delivered to stakeholders in any environment

Continuous DeliveryContinuous Integration

Automated commit, build and testing of code in the development environment

User FeedbackRapid Changes

Disc

iplin

e AGILEAn incremental approach to identifying, prioritizing, and coordinating feature development

Development Production / Prod-like Live Production

Env.

Stag

e

Release Deploy Monitor

Upstream (left) Downstream (right)Define Plan Code Commit Build Non-Func Test Scan Integrate Int. Test

Package Deploy Acct. Test Load Test

Change Mgt. Production Bugs

Agile, CI, Continuous Delivery and DevOps

DevOps → Culture approach, supported by practices

Page 7: Starting and Scaling DevOps

Quantify DevOps in 4Qs

Page 8: Starting and Scaling DevOps

© 2

016

Clou

dBee

s, In

c. A

ll Ri

ghts

Re

serv

ed

8

DEVSECOPS

SEC

OPS

CONTINUOUS DELIVERY

MICROSERVICESCONTAIN

ERS

ASCIIDOC

GIT

JEN

KIN

S

JENKINS

GITHUB

GITLABNEXUS

SCRUMCHATOPS

DEV

OPS

CONTINUOUS IMPROVEMENT

MICRO

SERVICES

MICROSE

RVICES

MICROSERVICES

BDD

CLOUDPAAS

SCM

UNIT TEST

GIT

PERFORCE

NEX

US

GITORIOUS

PERFECTO MOBILE

ELASTIC PROVISIONING

SCRUM

SCRUM

XPLEA

N

KANBAN

DEVOPS

DEVO

PS

DEVOPS

DEVSEC

OPS

RUGGED

DEVOPS

CO

NTI

NU

OU

S D

ELIV

ERY

CO

NTI

NU

OU

S D

ELIV

ERY

CONTINUOUS DEPLOYMENT

CONTINOUS TESTING

MICROSERVICES

TDD

VM

PAAS

PAAS

PAAS

TEST AUTOMATION

SUBVERSION

GIT

MERCURIAL

JENKINS

BLAZE METER

NEW RELIC

SCALE

LEAN

STOP THE LINE

DevOps Word Soup

8

Page 9: Starting and Scaling DevOps

© 2

016

Clou

dBee

s, In

c. A

ll Ri

ghts

Re

serv

ed

9

DevOps Word SoupOVERLOAD

CHATOPS

DEVOPSDE

VOPS

DEVOPS

DEV

OPS

DEVSECOPS

DEVSEC

OPS

SEC

OPS

RUGGED

DEVOPS

CONTINUOUS IMPROVEMENT

CONTINOUS INTEGRATION

CO

NTI

NU

OU

S D

ELIV

ERY

CO

NTI

NU

OU

S D

ELIV

ERY

CONTINUOUS DELIVERY

CONTINUOUS DEPLOYMENT

CONTINOUS TESTING

MICROSERVICESM

ICROSERVICES

MICROSE

RVICES

MICROSERVICES

MICROSERVICESTD

D

BDD

CONTAIN

ERS

VM

CLOUD

PAAS

PAAS

PAAS

PAAS

SCM

TEST AUTOMATION

UNIT TEST

ASCIIDOCSUBVERSION

GITGIT

GIT

MERCURIAL

PERFORCE

JEN

KIN

S

JENKINS

JENKINS

NEX

US

GITHUB

GITLABGITORIOUS

PERFECTO MOBILE

BLAZE METER

NEW RELIC

NEXUSSCALE

ELASTIC PROVISIONING

SCRUM

SCRUM

SCRUM

XPLEAN

LEA

N

KANBANSTOP THE LINE

9

Page 10: Starting and Scaling DevOps

© 2

016

Clou

dBee

s, In

c. A

ll Ri

ghts

Re

serv

ed

10

SIMPLE CAN BE HARDER THAN COMPLEX: YOU HAVE TO WORK HARD TO GET YOUR THINKING

CLEAN TO MAKE IT SIMPLE. BUT IT’S WORTH IT IN THE END

BECAUSE ONCE YOU GET THERE, YOU CAN MOVE MOUNTAINS.

-Steve Jobs

10

Page 11: Starting and Scaling DevOps

© 2

016

Clou

dBee

s, In

c. A

ll Ri

ghts

Re

serv

ed

11

WHERE ARE WE?

WHERE ARE WE GOING?

HOW DO WE GET THERE?

SIMPLIFY

11

Page 12: Starting and Scaling DevOps

X-Axis: SDLC Phases

12

Upstream Downstream

OperateDefine Plan Code Build Integrate Test Release Deploy

Page 13: Starting and Scaling DevOps

X-Axis: SDLC Phases

13

Agile Upstream

33%

Agile Downstream

13%

OperateDefine Plan Code Build Integrate Test Release Deploy

Page 14: Starting and Scaling DevOps

Y-Axis: Levels of adoption

14

Agile Upstream 33%

Agile Downstream 13%

EnterpriseAgile Upstream 22%

EnterpriseDevOps 10%

Team

Wor

kgro

upEn

terp

rise

Define Plan Code Build Integrate Test Release Deploy Operate

Page 15: Starting and Scaling DevOps

15

The Destination

Agile Upstream 33%

Agile Downstream 13%

EnterpriseAgile Upstream 22%

EnterpriseDevOps

• Innovate faster

• Respond to market

• Gain competitive advantage

• Increased productivity

• Employee satisfaction and retention $$

Team

Wor

kgro

upEn

terp

rise

Define Plan Code Build Integrate Test Release Deploy Operate

Page 16: Starting and Scaling DevOps

16

The DevOps Trinity and the Chasms

Upstream Downstream

People & Culture

Process & Practices

Tools & Technology

Agile, Scrum, Kanban PMBOK, ITIL, Waterfall

Point Tools,Grassroots, Rapid Change

Move Fast, Innovate Maintain Quality Stability, Uptime

Enterprise Class, Corp. Procurement, Stable

Define Plan Code Build Integrate Test Release Deploy Operate

Page 17: Starting and Scaling DevOps

17

CloudBees 4Qs of DevOps maturity

Quadrant 1:Team-level

Agile

Quadrant 2:Team-level

CD

Quadrant 3:Enterprise

Agile

Quadrant 4:Enterprise

DevOps

Team

Wor

kgro

upEn

terp

rise

Define Plan Code Build Integrate Test Release Deploy Operate

Page 18: Starting and Scaling DevOps

The Path To DevOps

Q1: Team-level Agile

Q3: Enterprise Agile Q4: Enterprise CD

Q2: Team-level CD• Mature CI practices for some teams• Some tools federation and standardization• Development disconnected from delivery• Often Water-scrum-fall approach

• Mature CD for some teams• Improved tools standardization• Development connected to delivery• Some teams release in weeks, days or hours

• Mature CI practices for most-to-all teams• Elastic CI-as-a-service• Tools centralization and standardization• Increased developer productivity

• Mature CD on most-to-all teams• Elastic, Internally-Managed CD-as-a-Service• Development and delivery tools centralization

and standardization• Most teams release in weeks, days or hours

CloudBees 4Qs of DevOps maturityTe

amW

orkg

roup

Ente

rpris

e

Define Plan Code Build Integrate Test Release Deploy Operate

Page 19: Starting and Scaling DevOps

19

The Trinity and the Chasms

Upstream Downstream

People & Culture

Process & Practices

Tools & Technology

Agile, Scrum, Kanban PMBOK, ITIL, Waterfall

Point Tools,Grassroots, Rapid Change

Move Fast, Innovate Maintain Quality Stability, Uptime

Enterprise Class, Corp. Procurement, Stable

Define Plan Code Build Integrate Test Release Deploy Operate

Page 20: Starting and Scaling DevOps

Poll Question

Which quadrant is your organization in?

• Quadrant 1 – Team-Level Agile

• Quadrant 2 – Team-Level CD

• Quadrant 3 – Enterprise Agile

• Quadrant 4 – Enterprise CD or DevOps

• Quadrant 0 – None (Legacy, Waterfall)

Page 21: Starting and Scaling DevOps

Starting and Scaling DevOps

Page 22: Starting and Scaling DevOps

FW no longer a bottleneck for the business

Development costs reduced from $100M/yr. to $55M/yr.

140% increase in the number of products under development

Capacity for innovation increased from ~5% to ~40%

© Gruver Consulting

Page 23: Starting and Scaling DevOps

© Gruver Consulting

Page 24: Starting and Scaling DevOps

© Gruver Consulting

Page 25: Starting and Scaling DevOps

Gene Kim Quote

This is my personal definition: I would define DevOps by the outcomes. In my mind, DevOps is

those set of cultural norms and technology practices that enable the fast flow of planned work from, among others, development, through tests

into operations while preserving world class reliability, operation and security.

DevOps is not about what you do, but what your outcomes are. So many things that we associate

with DevOps fits underneath this very broad umbrella of beliefs and practices—which of

course, communication and culture are part of them.

”© Gruver Consulting

Page 26: Starting and Scaling DevOps

© Gruver Consulting

Business Ideas Developer Production

Monitoring

Environment Testing

Page 27: Starting and Scaling DevOps

© Gruver Consulting

Environment TestingDeveloperBusiness

Ideas Production

Monitoring

Page 28: Starting and Scaling DevOps

© Gruver Consulting

Environment TestingDeveloperBusiness

Ideas Production

Monitoring

Page 29: Starting and Scaling DevOps

© Gruver Consulting

Monitoring Monitoring

Environment TestingDeveloperBusiness

Ideas Production

Monitoring

Page 30: Starting and Scaling DevOps

© Gruver Consulting

Monitoring How Long Frequency Issue Source

Environment TestingDeveloperBusiness

Ideas Production

Planning Capacity

Requirements Inventory

% Reworking

% Expected Results

Deploy Time & Effort

Source & Number of New Issues

New Issues

Cycle Time Batch Size

Repeatability

Branch Time

Approval Times

Page 31: Starting and Scaling DevOps

© Gruver Consulting

Segmenting

Tightly Coupled

Loosely Coupled

Non Business Critical

Page 32: Starting and Scaling DevOps

© Gruver Consulting

Tightly Coupled Architecture

A B C

E F G

H I J

D

K

L M

Service Virtualization

Service Virtualization

Page 33: Starting and Scaling DevOps

© Gruver Consulting

Segment with SVA B C

D

E F G

H I J

K

L M

Subsystem I

Subsystem II

Subsystem III

Service Virtualization

Service Virtualization

Page 34: Starting and Scaling DevOps

© Gruver Consulting

Subsystem I Deployment Pipeline

D

C

B

AA

B

C

D

Phase 2 & 3

A B C D

Page 35: Starting and Scaling DevOps

Subsystem I

Subsystem II

Subsystem III

Stage 3

Stage 4BAT

Stage 6Stage 5Regression Production

Full System Deployment Pipeline

Page 36: Starting and Scaling DevOps

Subsystem I

Subsystem II

Subsystem III

Stage 3

Stage 6Stage 4BAT

Stage 5Regression Production

Full System Deployment Pipeline

Page 37: Starting and Scaling DevOps

© Gruver Consulting

Subsystem I

Subsystem II

Subsystem III

Stage 3

Stage 6Stage 4BAT

Stage 5Regression Production

4 Hours

16 Hours

3 Hours 2 Weeks 18 Hours

1 Week

3 Days

1 Day to deploy

2 Days to test

3 Days

Cycle Time and Batch Size Map

Page 38: Starting and Scaling DevOps

© Gruver Consulting

Source of Issue Slide

Subsystem II

Stage 5Regression

Subsystem III

Stage 3

Stage 6Stage 4BAT Production

Subsystem I

Code Environment Test Deploy

Page 39: Starting and Scaling DevOps

Leadership vs Empowerment

Specialization vs Generalist

Push to production

Green builds & Quality Gates

© Gruver Consulting

Page 40: Starting and Scaling DevOps

Poll Question

Where are you on your CD/DevOps journey?

• Investigating

• Planning

• Marching along

• We’re there

• None of the above

Page 41: Starting and Scaling DevOps

Questions?