DevOps is an often abused and frequently misunderstood term. This presentation breaks DevOps down to its essence and then goes through a practical example of how organizational design, scheduling, and dependency management work in the DevOps world, modeled on real examples from Amazon and Netflix.
5. Key Messages
● Why does the world need DevOps?
● How is DevOps unique?
● What are key DevOps objectives?
● What are key principles?
● What are common implementation patterns?
● Where do I learn more?
7. The Lean/Agile Vision
User Needs
Needs Fulfilled With User-facing
& Technical Quality
One Team
Including Users
Fast Quality Feedback
8. The Typical Reality
Internal Bias
Needs
Somewhat
Fulfilled
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
SecurityMarketing
Documentation
Users & Buyers
Minimal Feedback
Regulatory
9. Lamp Post Effect - You Focus On What You See
Features
Development Budget & Timelines
User Interface
Missed:
Operations Costs & Delays
Security & Regulatory
Usability & Missing Personas
Scalability
Big Assumptions
16. Lean UX Primarily Tackles the Left Side
User Needs
Needs Fulfilled With
User-facing Quality
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
SecurityMarketing
Documentation
Users & Buyers
Quality Feedback
Regulatory
17. DevOps Primarily Tackles The Right Side
User Need
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
Security
Marketing
Documentation
Users & Buyers
Fast Feedback
Regulatory
Need Fulfilled Quickly
With Technical Quality
18. DevSecOps Adds Security and Regulatory
User Need
Sales
Product Mgt Developer &
Testers
User Experience
Project
Management
Support
Operations
Installations
IT
SecurityMarketing
Documentation
Users & Buyers
Fast Feedback
Regulatory
Need Fulfilled Quickly With
More Technical Quality
19. The safety straps are often
confused with DevOps itself!
● Kanban
● Software Configuration Management
● Continuous Integration
● Continuous Deployment
● Build Process
● Branching Strategy
● Test Automation
● ‘DevOps’ Team (definitely not DevOps)
These are all necessary tools, but they are
only enablers.
20. DevOps Has Very Clear and
Practical Goals
● Reduce Lead Time to Production (Lead Time)
● Reduce Mean Time to Recovery (MTTR)
● Reduce Change Failure Rate (CFR)
● Increase Change Frequency
24. Typical DevOps Organizational Pattern:
Wrap Stable Capability-based Teams With APIs
Team A
Team B
Team C Team D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
25. Typical DevOps Organizational Pattern:
Write Automated Tests Against These APIs
Team A
Team B
Team C Team D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
T
e
s
t
T
e
s
t
26. Typical DevOps Organizational Pattern:
Team-based Collective Code Ownership
Code A
Code B
Code C Code D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
27. Typical DevOps Organizational Pattern:
Cross-Team Indirect Collective Code Ownership
Code A
Code B
Code C Code D
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
“Pull Request”
28. Typical DevOps Organizational Pattern:
Put Operational Responsibility On The Team
Team A
Ops
Team B
Ops
Team C
Ops
Team D
Ops
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
29. Typical DevOps Organizational Pattern:
Prefer Audit over Approval for Compliance and
Quality
Team A
Ops
Team B
Ops
Team C
Ops
Team D
Ops
A
P
I
A
P
IA
P
I
API
API
API API
A
P
I
A
P
I
A
u
d
it
30. This is much harder (but not impossible) with large
monolithic architectures!
Easier
Hard
Nagakin Capsule Tower, Japan
Burj Khalifa, UAE
Easiest
Barra da Tijuca, Brazil
33. Simulation: Product Overview
Health-co is a startup providing a new software solution to hospitals. Their
solution has the following key capabilities:
● Administration -- check-in, check-out, patient non-medical records
● Payments -- insurance filing, credit card payments, billing, and
accounting
● Health information -- medical records, medical exchange
● Imaging -- medical image capture, viewing, and archive
● Specialist -- cardiology, radiology, etc.
● Medical hardware -- x-ray, ultrasound, heart monitor, etc.
This is a completely new solution, so let’s see how things evolve.
34. Simulation: Product Architecture
Database03
● Application data storage
● Configuration
● Backup and restore
Business Logic / API02
● Often called ‘Middleware’
● Encapsulates most of the
business rules
User Interface01
● User experience
● Highly specialized
35. Design Your Program Using Traditional Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface
Business Logic /
API
Database
Supporting /
Coordinating
Teams
36. Design Your Program Using Traditional Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface UI Team Firmware Team
Business Logic /
API
Middleware Team
Database DB Team
Supporting /
Coordinating
Teams
Core Program Team
System Test Team
Security Team
IT Team
Architecture Team
37. Design Your Program Using DevOps Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface
Business Logic /
API
Database
Supporting /
Coordinating
Teams
38. Design Your Program Using DevOps Principles
Admini-
stration
Payments Audit Image Capture
and Archive
Ultrasound Device
Firmware /
Software
User Interface Administra
tion Team
Incl. Audit
Features
Payments
Team
Incl. Audit
Features
Image Archive
Team
Ultrasound Team
Including External
InterfacesBusiness Logic /
API
Database
Supporting /
Coordinating
Teams
Core Team
Security Audit
IT Infrastructure
39. Cross-Team Coordination: GDPR
General Data Protection Regulation (GDPR) is a new European Union
regulation governing protected classes of data including personal information.
How would we implement GDPR in this environment?
40. Cross-Team Coordination: GDPR Step 1
Admini-
Stration Team
Payments Team
User Interface
Business Logic / API Fake API Fake APIs
Database Database Changes Database Changes
41. Cross-Team Coordination: GDPR Step 2
Admini-
Stration Team
Payments Team
User Interface UI completed but
toggled off
UI in progress and
toggled off
Business Logic / API Working API with Tests Fake APIs
Database No change No change
42. Cross-Team Coordination: GDPR Step 3
Admini-
Stration Team
Payments Team
User Interface UI completed but
toggled off except for
testing
UI completed but
toggled off except for
testing
Business Logic / API Working API with Tests Working API with Tests
Database No change No change
43. Cross-Team Coordination: GDPR Step 4
Admini-
Stration Team
Payments Team
User Interface Whole feature toggled
on for subset of users
during Alpha and Beta
Whole feature toggled
on for subset of users
during Alpha and Beta
Business Logic / API No change No change
Database No change No change
44. Cross-Team Coordination: GDPR Step 5
Admin Team Finds Payments Bug
Admini-
Stration Team
Payments Team
Business Logic / API Creates a bug fix in
Payments code base
and submits to
Payments Team for
review
Accepts change and
deploys it to production
45. Cross-Team Coordination: GDPR Step 6
Admini-
Stration Team
Payments Team
User Interface
GDPR Toggled On By DefaultBusiness Logic / API
Database
46. DevOps Is About People & Architecture With
Supporting Tools & Processes
Move responsibilities onto stable capability-based teams
Give teams ownership of deployment, packaging, and automation
Audit over approval
Decoupled modular architecture
Coordination of dependencies via APIs and Feature Toggles
Tools come second!
47. Where’s All The Other Stuff?
Continuous Integration?
Continuous Deployment?
Build Tools?
Automated Testing?
Automated Security?
These support DevOps, but they are only enablers.
Don’t confuse the hammer with the house.