Upload
johnfcshaw
View
632
Download
3
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
Agile Cambridge 2014, John Shaw
The Four Pillars of DevOps: Agility for the Enterprise
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
TOOLS!
DevOps P
latf
orm
Dep
loym
ent
Tes
tin
g
DevOps P
latf
orm
Dep
loym
ent
Tes
tin
g
Peo
ple
6 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Automation: Continuous Delivery
7 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Deployment Pipeline
Automate
Everything!
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
9 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Pillar 1: Platform
Tools
Infrastructure
Containers
Environment configuration
State??
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
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
14 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Pillar 4: People
15 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Pillar 4: People – The Phoenix Project
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
Specialists
Generalists
DevOps?
Manager
Org
anis
atio
nal T
ensio
ns
Specific technologies
Person Role 1
1
Person Role *
*
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
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
?
20 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Pillar 4: People – Dreyfus Model
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!
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
23 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Pillar 4: People – Domain Driven Design
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
Standardisation
Innovation
Cost savings (bottom line)
Benefit (top line)
Org
anis
atio
nal T
ensio
ns
Both require investment!
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
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
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.
29 Copyright © Capgemini 2014. All Rights Reserved
The Four Pillars of DevOps | Agile Cambridge 2014
Summary
Organisational Tensions
People
Priorities
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
@johnfcshaw