by Brad Appleton, Agile Day Chicago 2018, October 26 2018;
This presentation gives a comprehensive introduction to DevOps, for Agile development practitioners. In 2018, there are many misunderstandings about Agile & DevOps and how they relate to one another. Too many think of Agile (development) as primarily "Scrum", and that DevOps is Continuous Integration & Delivery (both of which are wrong). This presentation describes the meaning, origin & history of DevOps from an Agile development perspective.
4. State of DevOps 2018
Elite performing IT
organizations report:
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 4
5. State of DevOps 2018
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 5
more likely to use
CM tools27x
more likely to contribute
to other teams tooling44x
more likely to reuse
testing patterns44x
more likely to reuse
deployment patterns23x
more likely to make
monitoring & alerting
configurable by teams24x
Highly evolved IT orgs are:
7. Industry-leading vendors
introduce “Enterprise-
class” DevOps tools
NoOps
(Forrester)
1st DevOps Days
conference
(Belgium)
CAMS acronym,
Damon Edwards
& John Willis
DevOps
“takes off”
on social
media
History of DevOps
Patrick Debois
starts assessing IT
value chain
Agile SysAdmin
google group
is launched
Phoenix
Project
(Gene
Kim)
Continuous
Delivery Book
(Humble &
Farley) DevOps
Handbook
2005
1st State of
DevOps
Report
Agile
Infrastructure
Allspaw & Hammond
10+ deploys per day
Etsy – 50
deploys/day,
Amazon
deploys every
11sec
DevOps shows
positive impacts
to Enterprises
1st DOES
Summit
1st release
Andrew Clay Schafer
meets w/Patrick Debois
on Agile Ops/Admin
1st SRE
team at
2003
ChatOps
(GitHub)
CI book
(Duvall)
75% of
Enterprises
use DevOps
in some form
(Gartner)
OpenSource toolsets rip
up the legacy playbook
Cameron Haight
(Gartner) DevOps
Enterprise prediction
DevOps
Agile Skills
Association
DevOps Research
Nicole
Forsgren
2001 2007 20172008 2009 2010 2011 2012 2013 2014 2015 2016
Agile
Manifesto
2002
Agile CM
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 7
2018
DevOps for
Mainframes
8. What is DevOps?
A cross-disciplinary community of practice dedicated to the
study of building, evolving and operating rapidly-changing
resilient systems at scale. –Jez Humble
A professional movement advocating a collaborative working relationship
between Development & IT Operations, resulting in the fast flow of
planned work, while simultaneously increasing the reliability, stability,
resilience & security of the production environment. – Gene Kim
A set of practices and cultural changes — supported by the right tools
— that creates an automated software delivery pipeline, enabling
organizations to win, serve, and retain customers. –Forrester
An IT mindset encouraging communication, collaboration, integration
and automation among software developers and IT operations to
improve the speed and quality of delivering software. –VersionOne
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 8
9. DevOps is …
A professional cultural movement/philosophy/mindset
emphasizing ...
Continuous collaboration between development & operations
Automated CI/CD pipelines, working in small-batches, with
shorter lead-times (frequent deployment), and low failure-rates.
Agile (coding & automation) practices applied to infrastructure,
configuration, deploying/releasing, and monitoring.
Communication
Collaboration
Integration
Automation
DEV OPS
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018
10. Relationship between Agile & DevOps
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 10
Source: http://www.effectivepmc.com/devops
11. Relationship between Agile & DevOps
DevOps
Continuous Delivery/Deployment
Continuous Integration
Agile Development
DevOps
Continuous Delivery/Deployment
Continuous Integration
Agile Development
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 11
DevOps Perspective of Agile Development
Agile Developer’s Perspective of DevOps
12. Relationship between Agile & DevOps
DevOps is a direct result of applying Agile (values,
principles & practices) into operations & infrastructure
Agile Systems Administration & Agile (Web) Operations
Transforming CD from Agile Principle into Practice
Agile Testing Practices (TDD, BDD, ATDD, SBE)
Agile CM Practices (Sw CM & Infrastructure CM)
Agile ALM Tooling comprises most of a DevOps toolchain
As Agile has expanded beyond software and has become
almost exclusively associated with Scrum, DevOps has
effectively “assimilated” all the technical Agile practices!
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 12
13. The Three Ways of DevOps (Gene Kim)
The First Way – System Flow
Understand and increase the flow of work (left to right)
The Second Way – Amplify Feedback
Create short feedback loops that enable continuous improvement
(right to left)
The Third Way – Continuous Experimentation & Learning
Create a culture that fosters experimentation, risk-taking & learning
from failure (repetition & practice is a prerequisite for mastery)
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 13
1st
2nd
3rd
14. The Three Ways of DevOps
First Way – System Flow
Understand and increase the flow
of work (left to right)
Second Way – Amplify Feedback
Create short feedback loops enabling
continual improvement (right to left)
Third Way – Continuous
Experimentation & Learning
Create a culture of experimentation,
risk-taking & learning from failure
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 14
Never pass known defects downstream
Never let local optimization create global
degradation
Always seek to increase flow
Always seek to understand the system
Understand and respond to all customers
Shorten and amplify feedback loops
Embed knowledge wherever needed
Allocate time for improving daily work
Create rituals that reward risk-taking
Introduce faults to increase resilience
1st
2nd
3rd
15. CALMS Model of DevOps
• Focus on People
• Embrace Change & ExperimentCulture
• Continuous Delivery
• Infrastructure as CodeAutomation
Sharing
• Open Information Sharing
• Collaboration & Communication
• Measure Everything
• Show the ImprovementMeasurement
• Focus on Producing Value for the User
• Small Batch-sizesLean
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 15
16. DevOps Practices / Disciplines
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 16
17. DevOps Practices / Disciplines
Configuration Management
Continuous Integration
Continuous (Automated) Testing
(Agile) Infrastructure as Code
Continuous Delivery/Deployment
Continuous Monitoring
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 17
18. Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 18
Source: https://www.pinterest.com/pin/635289091160035200/
19. Enterprise DevOps Playbook
DevOps Principles & Culture:
1. Treat operations as a first-class citizen
2. Developers act as first responders to issues with the production system
3. Shorten the time between identification of a production issue and its repair
4. Shorten the time between code commit and code deploy
5. Minimize coordination to deploy releases
6. Stop and fix potential defects identified by continuous flow and monitoring
7. Enforce standardized processes to ensure predictable outcomes
8. Become a learning organization through continual feedback and action
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 19
21. Evolutionary Path for DevOps Operating Model
Matrixed (DevOps+QE)
Evangelists
OpsDevOpsDev
Integrated
(Pipeline/Delivery)
Enablement Team
OpsDevOpsDev
Adaptive
(DevOps-as-a-Service)
OpsDevOpsDev
Functional
Silos+CoEs
Dev OpsQA
Source: Thinking Environments – Evaluating Organizational Models for DevOps to Accelerate Business and Empower Workers
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 21
The DevOps
Team
Antipattern
23. THE DEVOPS PIPELINE
“DevOps, in a sense, is about setting up a value delivery
factory – a streamlined, waste-free pipeline through which
value can be delivered to the business with a predictably
fast cycle-time” –Mark Schwartz, The Art of Business Value
Feedback (communication, notifications, requests, data, failures, defects, alerts, incidents)
Continuous
Deployment
Continuous
Integration
Agile/
Iterative
Continuous
Delivery
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 23
24. DevOps Toolchain / Pipeline
A DevOps toolchain is a set or combination of tools that aid in the
delivery, development, and management of applications throughout
the software development lifecycle, as coordinated by an organization
that uses DevOps practices.
Azure
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 24
25. Continuous Delivery
Short lead times require more deployments
DevOps Governance
Infrastructure Configuration Management
Infrastructure is under version control
Deployments are orchestrated
Immutable Infrastructure (no snowflakes)
More Testing
o Performance and Security
o Integration testing
o Service Virtualization
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 25
26. Continuous Delivery vs. Continuous Deployment
https://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 26
28. Keys to DevOps
Plan small/ fail fast/ deliver quickly
Everything is under SCM
Test & Automation
People (Kaizen/ Quality Culture)
Infrastructure under CM
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 28
29. DevOps Outcomes
Improved deployment frequency;
Faster time to market;
Lower failure rate of new releases;
Shortened lead time between fixes;
Faster mean time to recovery
Better employee engagement & leadership
Investment in DevOps and associated mindset is one of
the top predictors of IT organizational performance!
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 29
30. Related Terms & Trends
NoOps
DevSecOps / SecDevOps
TestOps
ChatOps
HugOps
GitOps/DiffOps
DataOps
Antifragility
Chaos Engineering
Serverless
Pipeline as Code
Snowflake
Configuration Drift
Immutable / Phoenix Server
Canary Release
A/B Testing
Blue-Green Deployment
Feature Toggles / Dark Launch
Service/Data Virtualization
Containers/Containerization
FaaS / Lambdas
DevOps as a Service
https://dzone.com/articles/48-devops-terms-you-should-know-a-devops-glossary https://xebialabs.com/glossary/
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 30
31. Last words …
Lean/Agile/DevOps is a journey (not a destination) that
requires real change for most organizations!
Don’t expect big changes to happen overnight!
Your mileage will vary!
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 31
36. DevOps Sites & Resources
devops.com
bestdevops.com
devops.sys-con.com
infoq.com/devops
dzone.com/devops-tutorials-tools-news
agileconnection.com/topics/devops
devopscafe.org
itrevolution.com
techbeacon.com/devops
continuousdelivery.com
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 36
37. DevOps Vendor Sites & Resources
accenture.github.io/adop-docker-compose/
developer.capitalone.com/opensource-projects/hygieia/
aws.amazon.com/devops/
ibm.com/developerworks/learn/devops/
visualstudio.com/devops/
atlassian.com/devops
puppet.com/solutions/devops
xebialabs.com/solutions/devops/
ca.com/us/why-ca/devops.html
software.microfocus.com/en-us/solutions/devops-solutions
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 37
38. State of DevOps 2017
High-performing IT
organizations report:
High performers
440x faster
lead times
440x
96x faster
recovery from
failures
96x
5x lower
change failure
rate
5x
46x more
frequent
deployments
46x
Source: State of DevOps Report Google/DORA
less time spent
on unplanned
work and rework22%
more time to
spend on new
work29%
Automate
more of their CM
more of their
testing
more of their
deployments
33%
27%
30%
Have better employee loyalty (eNPS)
more likely to
recommend company
2.2x
more likely
to recommend team
1.8x
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 38
39. DevOps Team Topologies (Matthew Skelton)
Type 1:
Dev+Ops Collaboration
OpsDev
Type 2:
Fully Shared Ops
OpsDev
Type 3:
Ops as IaaS
OpsDevOpsDev
Type 4:
DevOps-as-a-Service
OpsDevOpsDev
Type 5:
Temp DevOps Team
OpsDevOpsDev
Type 6:
DevOps Evangelists Team
OpsDevOpsDev OpsSREDev
DevOps
Type 7:
SRE Team (Google Model)
Type 8:
Container-Driven
OpsDevOpsDev
devopstopologies.com
Anti-Type A:
Dev & Ops Silos
Dev Ops
Anti-Type B:
DevOps Team Silo
OpsDevOpsDev
Anti-Type C:
Dev Don’t Need Ops
Ops
DevOps
Dev
Anti-Type D:
DevOps as Tools Team
Ops
DevOps
Dev
Anti-Type E:
Rebranded SysAdmin
Ops
DevOps
Dev
Anti-Type F:
Ops Embedded
in Dev Team
OpsDevOpsDev
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 39
40. Software Development DevOps 2018 Q1 Graph
http://infoq.link/devops-trends
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 40
41. What is DevOps? [continued]
An agile relationship between Development & IT Operations to improve
communication, collaboration, and fast flow between the various roles
in the software value-delivery lifecycle. –XebiaLabs
A change in IT culture, focusing on rapid IT service delivery through adoption of
agile/lean practices in the context of a system-oriented approach, that emphasizes
people (and culture), seeks to improve collaboration between operations and
development teams. Implementations utilize automation tools that leverage an
increasingly programmable and dynamic infrastructure. –Gartner
Operations & development engineers participating together in
the entire service lifecycle, from design through development
process to production support. –The Agile Admin
A software engineering culture and practice that aims at unifying software
development (Dev) & IT operations (Ops) … shorter development cycles,
increased deployment frequency, more dependable releases, in close
alignment with business objectives. –Wikipedia
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 41
42. Comparison of Lifecycles
Waterfall
(phases)
DeployDefinition Analysis
Design,
Code &
Unit-Test
Integration
Build+Test Test Accept
Continuous
Delivery
Incremental
(integrations)
Agile
(sprints)
Continuous
Deployment
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 42
48. DevOps Culture > Principles > Practices > Tools
Source: puppet.com/resources/whitepaper/state-of-devops-report
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 48
49. Seven Habits of Highly Effective DevOps -
Forrester
Source: https://www.microfocus.com/media/analyst-paper/Forrester_The_Seven_Habits_Of_Highly_Successful_DevOps_10-2014.pdf
Brad Appleton DevOps: an Agile Perspective – Agile Day Chicago 2018 49
Editor's Notes
DevOps (a clipped compound of "development" and "operations") is a software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops). The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. DevOps aims at shorter development cycles, increased deployment frequency, more dependable releases, in close alignment with business objectives – Wikipedia (Jan 2018)
Kaizen – empowered motivated workforce. Drive type I (autonomy, mastery, sense of purpose). Toyota TPC, Continuous Improvement.
Customer Driven – reduced cycle time, quickly deliver customer requests
Quality Culture – code is tested
Automation is maximized
DevOps environment delivers working software, minimizing the need for rework.
Continuous Integration
Continuous Delivery
From wikipedia: Simple processes become increasingly programmable and dynamic, using a DevOps approach.[28] DevOps aims to maximize the predictability, efficiency, security, and maintainability of operational processes. Very often, automation supports this objective.
DevOps integration targets product delivery, continuous testing, quality testing, feature development, and maintenance releases in order to improve reliability and security and provide faster development and deployment cycles. Many of the ideas (and people) involved in DevOps came from the enterprise systems management and agile software developmentmovements
Highest Quality – test left, automation, quality culture
Customer Driven – small updates delivered often, high quality
Sustainability - Empowered Quality culture, tools that support QA, low rework costs
https://www.whatislean.org/