30
Agile Cambridge 2014, John Shaw The Four Pillars of DevOps: Agility for the Enterprise

Four pillars of DevOps - John Shaw - Agile Cambridge 2014

Embed Size (px)

DESCRIPTION

Slides presented at Agile Cambridge 2014 http://agilecambridge.net/ac2014/sessions/index.php?session=57 Session Description: The emerging practice of DevOps is a natural extension to established Agile methods. The choice of tooling to support the practices is important and will influence heavily how rapid, repeatable and reliable live deployments might be. Three of the four pillars are concerned with automation through tooling but, arguably, the fourth pillar is more important than the other three together. The fourth pillar is at the heart of the Agile Manifesto: people. The "Gold Rush" for DevOps is dominated by vendors and the push to sell their wares. But it is people who use the tools, people who define, develop and assure the software, and people who manage the services after they have gone live. One of the cornerstones of DevOps is breaking down the walls between development teams and operations; too much tool specialisation will lead to further separation and even the introduction of yet another silo. This talk will cover four pillars to DevOps: Environments, Deployment, Testing and People. The insights brought together in this talk were gained under commercial engagements with government clients, on development of financial systems responsible for management of funding in the adult education sector.

Citation preview

Page 1: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

Agile Cambridge 2014, John Shaw

The Four Pillars of DevOps: Agility for the Enterprise

Page 2: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

2 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

DevOps: Definitions

“DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.” – http://theagileadmin.com/what-is-devops/

“DevOps is the blending of tasks performed by a company's application development and systems operations teams.” – http://searchcloudcomputing.techtarget.com/definition/DevOp

“DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between Development and IT Operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between the two business units.” – http://www.webopedia.com/TERM/D/devops_development_operations.html

Page 3: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

TOOLS!

Page 4: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

DevOps P

latf

orm

Dep

loym

ent

Tes

tin

g

Page 5: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

DevOps P

latf

orm

Dep

loym

ent

Tes

tin

g

Peo

ple

Page 6: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

6 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Automation: Continuous Delivery

Page 7: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

7 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Deployment Pipeline

Automate

Everything!

Page 8: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

8 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Factors Measure

Dev: time from requirement

to release candidate Months ↔ Days

Ops: time from release

candidate to live Days ↔ Minutes

Budget for investment

£ ↔ £££

Cost saving return

Never ↔ Now

Product value return

(time to market) Never ↔ Now

Automate Everything! Which bits?

OFF ON

OFF ON

OFF ON

OFF ON

OFF ON

Page 9: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

9 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 1: Platform

Tools

Infrastructure

Containers

Environment configuration

State??

Page 10: Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Page 11: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

11 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 2: Deployment

Continuous integration

Deployment

Push-button

Triggered

Scheduled

Roll-back

Software configuration

Page 12: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

12 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 3: Testing

Purpose >

Test Type Acc

ep

tan

ce

Reg

ressio

n

Assu

ran

ce

Smoke Tests

Most Important

Tests

Functional

Performance

Exploratory

Frequency

Continuous

integration

Ad-hoc

Daily (overnight) Per sprint

Weekly (weekend) Per release

•Manual

•Push-button

•Triggered

•Scheduled

Page 13: Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Page 14: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

14 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 4: People

Page 15: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

15 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 4: People – The Phoenix Project

Page 16: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

16 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Development (Software

Engineering)

Quality Assurance

(QA)

Technology Operations

DevOps

Pillar 4: People – DevOps Communication Paths

Page 17: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

Specialists

Generalists

DevOps?

Manager

Org

anis

atio

nal T

ensio

ns

Specific technologies

Person Role 1

1

Person Role *

*

Page 18: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

18 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 4: People – Organise by Capabilities

Development Quality

Assurance

Technology

Operations

DevOps?

•Fits hierarchical org model

•Clear specialties

•Clear responsibilities

•Communication barriers

•Organisational

•Domain language

•Innovation barriers

•Handovers

Page 19: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

19 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Products

Specialists

Pillar 4: People – Organise by Expert Support

Development Quality

Assurance

Technology

Operations

DevOps?

Dev

Ops

QA

DevOps

?

Page 20: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

20 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 4: People – Dreyfus Model

Page 21: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

21 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 4: People – DevOps Engineer

TOOLS!

DevOps Engineer must support self service!

Page 22: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

Conway’s Law Any organization that

designs a system (defined

broadly) will produce a

design whose structure is a

copy of the organization's

communication structure.

Performance for the

organisation

Performance for

teams

Org

anis

atio

nal T

ensio

ns

Page 23: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

23 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 4: People – Domain Driven Design

Page 24: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

24 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Pillar 4: People – Organise by Domain

Strategic Product is key to business

Rapid turn-around

Constant pipeline

Attracts investment

Adapts to business

Unstable

Custom software

Supporting

Important to business

Less investment

Stable

Business may adapt to capability of the product

Packages

Other

Not a business priority

Well established

Outsource

Page 25: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

Standardisation

Innovation

Cost savings (bottom line)

Benefit (top line)

Org

anis

atio

nal T

ensio

ns

Both require investment!

Page 26: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

26 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Dev

Conclusion – Organise by Product

Ops •Change Management

•Operational Monitoring

•Specialists

Dev: Product 1 •Dev & support

Dev: Product 2 •Dev & support

Dev: Product 3 •Dev & support

App Support •All supporting products

Team 1 •On demand

Team 2 •On demand

Outsourced

Other •Tactical

•Training

= staff mobility

= change in priority

= product manager

Dev: Team 3 •Transition

Mis

sio

n C

ritica

l

Su

pp

ort

ing

frequent

Page 27: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

27 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Development (Software

Engineering)

Quality Assurance

(QA)

Technology Operations

Team Team

Development (Software

Engineering)

Quality Assurance

(QA)

Technology Operations

Conclusion – DevOps Communication Paths

Mission Critical Product Team performs all roles

Supporting Team focussed on dev

Page 28: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

28 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Conclusion – DevOps is…

DevOps is an approach to streamlining the deployment and operation of a product on the production platform. This is enabled through removing barriers to communication, providing self-service operations and automation of steps for a rapid, repeatable and reliable product delivery pipeline.

A DevOps Engineer is a master of this approach and an expert on the tools that enable the automation of the pipeline, preferably operating in a coaching capacity.

Page 29: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

29 Copyright © Capgemini 2014. All Rights Reserved

The Four Pillars of DevOps | Agile Cambridge 2014

Summary

Organisational Tensions

People

Priorities

Page 30: Four pillars of DevOps - John Shaw - Agile Cambridge 2014

www.capgemini.com

The information contained in this presentation is proprietary.

© 2014 Capgemini. All rights reserved. Rightshore® is a trademark belonging to Capgemini.

About Capgemini

With more than 130,000 people in over 40 countries, Capgemini

is one of the world's foremost providers of consulting, technology

and outsourcing services. The Group reported 2013 global

revenues of EUR 10.1 billion.

Together with its clients, Capgemini creates and delivers

business and technology solutions that fit their needs and drive

the results they want. A deeply multicultural organization,

Capgemini has developed its own way of working, the

Collaborative Business ExperienceTM, and draws on Rightshore ®,

its worldwide delivery model.

We’re hiring! http://www.uk.capgemini.com/careers

[email protected]

@johnfcshaw