SlideShare a Scribd company logo
Introduction
to DevOps
KEY CONCEPTS, TECHNOLOGY
AND PATHS FORWARD
YAZID HAMDI
H T T P S : / / W W W . L I N K E D I N . C O M / I N / Y A Z I D H A M D I /
H T T P S : / / Y A Z I D . X Y Z
This Photo by Unknown Author is licensed under CC BY-SA
Outline
2
Key Concepts
The “Why?”
The “What?”
The “How?”
The Cultural Phenomenon
Who To Follow?
Technology
Virtualization/Networking
Build/Test Automation (CI)
Infrastructure Provisioning
Deployment Automation (CD?)
Monitoring/Logging
Paths Forward
For Developers/Data Scientists
For Architects
For Managers
About Me
•Your friendly neighborhood software architect
•AWS Certified Solutions Architect – Associate (Professional in preparation)
•Experience developing for and deploying on AWS
•Experience with large scale data intensive systems (Nomad Centre of
Excellence, automotive industry)
•Was teaching assistant in Carnegie Mellon University’s Master of Software
Engineering Programs for the “DevOps: Modern Deployment” course
•Named reviewer of the book: “Deployment and Operations for Software
Engineers”
3
Key Concepts
The “Why?” (1): How it always was
5
This Photo by Unknown Author is licensed under CC BY This Photo by Unknown Author is licensed under CC BY-SA
Code/binaries, configs,
“deploy this”
Feature development
Code QA
This Photo by Unknown Author is licensed under CC BY-SA
Deployment
Operations/Security/Compliance
Support?
“Code it this way” “Deploy it this way”
The “Why?”
(2): It was
actually bad
6
Long development/deployment cycles  Long time
to market
Variable deployment quality
Slow incident response
Unstable non-secure deployments/infrastructure
Frustration on both sides of the wall
The “Why?” (3): Responsibilities…
7
This Photo by Unknown Author is licensed under CC BY-SA-NC
The “Why?” (4): How it could be
8
This Photo by Unknown Author is licensed under CC BY This Photo by Unknown Author is licensed under CC BY-SA
Architecture
Quality Assurance
Deployment
Monitoring
Incident Management
This Photo by Unknown Author is licensed under CC BY-SA
The “What?”
9
As defined by
Len Bass et
al. (“DevOps:
A Software
Architect’s
Perspective”),
the five
DevOps
practices:
Promote Ops in requirements
Give Dev more responsibility
Enforce a deployment process
Use Continuous Deployment
Develop infrastructure code in
addition to application code
The “How?” (1):
Lifecycle
Processes + Tools
•Close collaboration
•Blurring the boundaries
between Dev and Ops roles
•Responsibility sharing and
early coordination
•Automation at every turn (to
enforce processes)
10
This Photo by Unknown Author is licensed under CC BY-SA-NC
The “How?” (2):
It’s All About
The Ops
11
DevOps
DataOps
SecOps/DevSecOps
NoOps?
The “How?”
(3): What Ops?
12
This Photo by Unknown Author is licensed under CC BY-NC
The “How?” (4): Typical Implementation
Plans
13
Source: How to Implement DevOps to Automate the Software Delivery Process?
The “How?” (4): Typical Implementation
Plans
14
Source: The Five Steps to DevOps Adoption
The “How?” (4): Typical Implementation
Plans
15
Source: DevOps: Consulting with Foresight
The “How?” (4): Typical Implementation
Plans
16
This Photo by Unknown Author is licensed under CC BY-SA
Isn’t it all familiar?
The Cultural Phenomenon (1): The Hype
Curve
17
This Photo by Unknown Author is licensed under CC BY-NC-ND
The Cultural Phenomenon (2): The Job
Description
18
•DevOps Engineer
•Software
Architect/DevOps
Specialist
•Infrastructure
Engineer
•Platform Engineer
•Site Reliability
Engineer (SRE)
•…
(Senior) DevOps Engineer, Infrastructure
The Cultural
Phenomenon
(2): The Job
Description
19
This Photo by Unknown Author is licensed under CC BY-SA
The Cultural Phenomenon (3): The
Inevitable Death
20
The Cultural Phenomenon (3):
The Inevitable Death?
21
Who To Follow?
22
“Authorities”:
“All Day DevOps: World’s Largest
DevOps Conference”
“DevOps Institute”
Blogs (there is no shortage)
Publications:
SEI, ACM, IEEE
Books (see Paths Forward section
of this presentation)
Certifications are a good
indication: “10 Best DevOps
Certifications in 2020 Ranked”
Cloud Providers (AWS, GCP, Azure,
Redhat, Oracle…)
Tool/Platform Providers (Docker,
Kubernetes, Jenkins, etc.)
Technology
Virtualization/Networking
24
Virtualization:
Break down the monolith
Scale out instead of scaling up
“Throwaway” units
VMs/Containers/Lambda Functions
Services instead of servers
Networking
Traffic routing
Traffic load balancing
Dependencies/Service hierarchies
Build/Test Automation (CI) (1)
25
This Photo by Unknown Author is licensed under CC BY-SA
Build/Test Automation (CI) (2)
26
Google Cloud Build
GoCD
Buildbot
Infrastructure Provisioning (1)
27
Infrastructure
Provisioning
(2)
• Build compute resources:
• Vagrant/Packer:
• build/configure virtual machines
• Docker/Kubernetes:
• build containers/groups of containers
• Chef/Ansible/Puppet:
• build/orchestrate different compute units
• Build entire stacks as code (Infrastructure as Code
– IaC):
• Terraform/Pulumi/Cloudify:
• describe infrastructure, platform-agnostic
• AWS Cloudformation/Azure Resource
Manager/GCP Deployment Manager:
• platform-specific
28
This Photo by Unknown Author is licensed under CC BY-SA
Deployment Automation
(CD?)
= CI + INFRASTRUCTURE
PROVISIONING
29
This Photo by Unknown Author is licensed under CC BY-SA
Monitoring/Logging
30
Monitor:
•Failures
•Automatic operations
•Network-level traffic
•OS-level metrics
•Application-level metrics
•Cloud metrics
•Usage statistics and patterns (for business
analysis feedback)
Source: “Coding Defines Monitoring”
Paths Forward
Disclaimer
The following are subjective
recommendations from my
own experience
32
This Photo by Unknown Author is licensed under CC BY-NC
For Developers/Data
Scientists
•For your use case:
• Find opportunities for automation
• Be careful about ROI!
• Learn about domain-specific techniques/tools
•Cloud knowledge is key:
• Modern DevOps is heavily reliant on Cloud technology
• In parallel to your domain knowledge, acquire Cloud
architecture/deployment experience and knowledge
•Book recommendation: “Deployment and Operations for
Software Engineers” by Len Bass and John Klein
33
For Architects
• System quality implications of adopting DevOps
practice(s):
• Performance?
• Reliability?
• Recoverability?
• Testability?
• Modifiability?...
• Special care for designing and maintaining the code
around the code:
• Infrastructure templates
• Configuration management
• Scripts
• Secrets management…
• Book recommendations:
• “DevOps: A Software Architect’s Perspective” by Len Bass,
Ingo Weber and Liming Zhu
• “Production-Ready Microservices” by Susan J.Fowler
34
For Managers
•Consider business tradeoffs, especially Agility/speed vs extra costs
• Long-term benefits vs immediate cost savings
• Does the scale/lifecycle require this?
•Listen to experts before making an investment
•Keep an overview of the couplings between requirements
engineering/planning/tracking/risk management and the adoption
of DevOps
•Book recommendations:
• “DevOps Handbook” by Gene Kim, Jez Humble, Patrick Debois
and John Willis
35

More Related Content

PPTX
The Architectural Thinking Behind Full Stack Serverless
PPTX
Software Engineering: why it is more than coding, and why it is necessary
PDF
XebiaLabs @ Jenkins User Conference Boston 2014
PPTX
DevOps is not a Culture. It is about responsibility
PPT
Evolutionary Architecture And Design
PPTX
Software Design
PDF
Software Architecture
PDF
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
The Architectural Thinking Behind Full Stack Serverless
Software Engineering: why it is more than coding, and why it is necessary
XebiaLabs @ Jenkins User Conference Boston 2014
DevOps is not a Culture. It is about responsibility
Evolutionary Architecture And Design
Software Design
Software Architecture
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...

What's hot (20)

PDF
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
PDF
Frank's Learning Summary - Evolution of agile testing
PPTX
About DevOps in simple steps
PPTX
From the Monolith to Microservices - CraftConf 2015
PPTX
Solid Principles Of Design (Design Series 01)
PPTX
Java Script recruiting
PPT
How to Build a DevOps Toolchain
PPTX
A glance at a scrum team in real software company
PDF
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
PDF
Architecting for Hyper Growth and Great Engineering Culture
PPT
User Driven Software Architecture
PPTX
The Challenges & Pitfalls of Database Continuous Delivery
PPTX
Software development in the modern age
PDF
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
PPTX
Docker in the Real World - Ops
PPTX
Static code analysis
PPTX
DevOps - Continuous Integration, Continuous Delivery - let's talk
 
PPTX
Spark 2013 Presentation of making the enterprise agile
PPTX
Being Elastic -- Evolving Programming for the Cloud
PDF
Refactoring for Software Architecture Smells - International Workshop on Refa...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Frank's Learning Summary - Evolution of agile testing
About DevOps in simple steps
From the Monolith to Microservices - CraftConf 2015
Solid Principles Of Design (Design Series 01)
Java Script recruiting
How to Build a DevOps Toolchain
A glance at a scrum team in real software company
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
Architecting for Hyper Growth and Great Engineering Culture
User Driven Software Architecture
The Challenges & Pitfalls of Database Continuous Delivery
Software development in the modern age
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Docker in the Real World - Ops
Static code analysis
DevOps - Continuous Integration, Continuous Delivery - let's talk
 
Spark 2013 Presentation of making the enterprise agile
Being Elastic -- Evolving Programming for the Cloud
Refactoring for Software Architecture Smells - International Workshop on Refa...
Ad

Similar to Introduction to DevOps (20)

PPTX
DevOps in Practice
PDF
DevOps, Common use cases, Architectures, Best Practices
PPTX
DevNetOps Overview
PPTX
DevOps Culture transformation in Modern Software Delivery
PPTX
What_is_DevOps.pptx
PDF
Smau Milano 2016 - Michele Finelli
PDF
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
PDF
Dev ops essentials v2
PPTX
What_is_DevOps_how_it's_very_useful_in_daily_Life.
PPTX
What is DevOps And How It Is Useful In Real life.
PDF
Dev ops lessons learned - Michael Collins
PPTX
DevOps and Tools
PDF
DevOps - A Gentle Introduction
PDF
DevOps - A Gentle Introduction
PPTX
DevOps-ITverse-2023-IIT-DU.pptx
PPTX
Delivering Applications Continuously to Cloud
PDF
Innovative DevOps Project Ideas for Students to Practice with Industry.pdf
PDF
AWS DevOps Guide and Best Practices Presentation.pdf
PDF
DevOps(1) : What's DevOps - (MOSG)
PDF
Intro to DevOps
DevOps in Practice
DevOps, Common use cases, Architectures, Best Practices
DevNetOps Overview
DevOps Culture transformation in Modern Software Delivery
What_is_DevOps.pptx
Smau Milano 2016 - Michele Finelli
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Dev ops essentials v2
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What is DevOps And How It Is Useful In Real life.
Dev ops lessons learned - Michael Collins
DevOps and Tools
DevOps - A Gentle Introduction
DevOps - A Gentle Introduction
DevOps-ITverse-2023-IIT-DU.pptx
Delivering Applications Continuously to Cloud
Innovative DevOps Project Ideas for Students to Practice with Industry.pdf
AWS DevOps Guide and Best Practices Presentation.pdf
DevOps(1) : What's DevOps - (MOSG)
Intro to DevOps
Ad

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Spectroscopy.pptx food analysis technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectroscopy.pptx food analysis technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
Understanding_Digital_Forensics_Presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Introduction to DevOps

  • 1. Introduction to DevOps KEY CONCEPTS, TECHNOLOGY AND PATHS FORWARD YAZID HAMDI H T T P S : / / W W W . L I N K E D I N . C O M / I N / Y A Z I D H A M D I / H T T P S : / / Y A Z I D . X Y Z This Photo by Unknown Author is licensed under CC BY-SA
  • 2. Outline 2 Key Concepts The “Why?” The “What?” The “How?” The Cultural Phenomenon Who To Follow? Technology Virtualization/Networking Build/Test Automation (CI) Infrastructure Provisioning Deployment Automation (CD?) Monitoring/Logging Paths Forward For Developers/Data Scientists For Architects For Managers
  • 3. About Me •Your friendly neighborhood software architect •AWS Certified Solutions Architect – Associate (Professional in preparation) •Experience developing for and deploying on AWS •Experience with large scale data intensive systems (Nomad Centre of Excellence, automotive industry) •Was teaching assistant in Carnegie Mellon University’s Master of Software Engineering Programs for the “DevOps: Modern Deployment” course •Named reviewer of the book: “Deployment and Operations for Software Engineers” 3
  • 5. The “Why?” (1): How it always was 5 This Photo by Unknown Author is licensed under CC BY This Photo by Unknown Author is licensed under CC BY-SA Code/binaries, configs, “deploy this” Feature development Code QA This Photo by Unknown Author is licensed under CC BY-SA Deployment Operations/Security/Compliance Support? “Code it this way” “Deploy it this way”
  • 6. The “Why?” (2): It was actually bad 6 Long development/deployment cycles  Long time to market Variable deployment quality Slow incident response Unstable non-secure deployments/infrastructure Frustration on both sides of the wall
  • 7. The “Why?” (3): Responsibilities… 7 This Photo by Unknown Author is licensed under CC BY-SA-NC
  • 8. The “Why?” (4): How it could be 8 This Photo by Unknown Author is licensed under CC BY This Photo by Unknown Author is licensed under CC BY-SA Architecture Quality Assurance Deployment Monitoring Incident Management This Photo by Unknown Author is licensed under CC BY-SA
  • 9. The “What?” 9 As defined by Len Bass et al. (“DevOps: A Software Architect’s Perspective”), the five DevOps practices: Promote Ops in requirements Give Dev more responsibility Enforce a deployment process Use Continuous Deployment Develop infrastructure code in addition to application code
  • 10. The “How?” (1): Lifecycle Processes + Tools •Close collaboration •Blurring the boundaries between Dev and Ops roles •Responsibility sharing and early coordination •Automation at every turn (to enforce processes) 10 This Photo by Unknown Author is licensed under CC BY-SA-NC
  • 11. The “How?” (2): It’s All About The Ops 11 DevOps DataOps SecOps/DevSecOps NoOps?
  • 12. The “How?” (3): What Ops? 12 This Photo by Unknown Author is licensed under CC BY-NC
  • 13. The “How?” (4): Typical Implementation Plans 13 Source: How to Implement DevOps to Automate the Software Delivery Process?
  • 14. The “How?” (4): Typical Implementation Plans 14 Source: The Five Steps to DevOps Adoption
  • 15. The “How?” (4): Typical Implementation Plans 15 Source: DevOps: Consulting with Foresight
  • 16. The “How?” (4): Typical Implementation Plans 16 This Photo by Unknown Author is licensed under CC BY-SA Isn’t it all familiar?
  • 17. The Cultural Phenomenon (1): The Hype Curve 17 This Photo by Unknown Author is licensed under CC BY-NC-ND
  • 18. The Cultural Phenomenon (2): The Job Description 18 •DevOps Engineer •Software Architect/DevOps Specialist •Infrastructure Engineer •Platform Engineer •Site Reliability Engineer (SRE) •… (Senior) DevOps Engineer, Infrastructure
  • 19. The Cultural Phenomenon (2): The Job Description 19 This Photo by Unknown Author is licensed under CC BY-SA
  • 20. The Cultural Phenomenon (3): The Inevitable Death 20
  • 21. The Cultural Phenomenon (3): The Inevitable Death? 21
  • 22. Who To Follow? 22 “Authorities”: “All Day DevOps: World’s Largest DevOps Conference” “DevOps Institute” Blogs (there is no shortage) Publications: SEI, ACM, IEEE Books (see Paths Forward section of this presentation) Certifications are a good indication: “10 Best DevOps Certifications in 2020 Ranked” Cloud Providers (AWS, GCP, Azure, Redhat, Oracle…) Tool/Platform Providers (Docker, Kubernetes, Jenkins, etc.)
  • 24. Virtualization/Networking 24 Virtualization: Break down the monolith Scale out instead of scaling up “Throwaway” units VMs/Containers/Lambda Functions Services instead of servers Networking Traffic routing Traffic load balancing Dependencies/Service hierarchies
  • 25. Build/Test Automation (CI) (1) 25 This Photo by Unknown Author is licensed under CC BY-SA
  • 26. Build/Test Automation (CI) (2) 26 Google Cloud Build GoCD Buildbot
  • 28. Infrastructure Provisioning (2) • Build compute resources: • Vagrant/Packer: • build/configure virtual machines • Docker/Kubernetes: • build containers/groups of containers • Chef/Ansible/Puppet: • build/orchestrate different compute units • Build entire stacks as code (Infrastructure as Code – IaC): • Terraform/Pulumi/Cloudify: • describe infrastructure, platform-agnostic • AWS Cloudformation/Azure Resource Manager/GCP Deployment Manager: • platform-specific 28 This Photo by Unknown Author is licensed under CC BY-SA
  • 29. Deployment Automation (CD?) = CI + INFRASTRUCTURE PROVISIONING 29 This Photo by Unknown Author is licensed under CC BY-SA
  • 30. Monitoring/Logging 30 Monitor: •Failures •Automatic operations •Network-level traffic •OS-level metrics •Application-level metrics •Cloud metrics •Usage statistics and patterns (for business analysis feedback) Source: “Coding Defines Monitoring”
  • 32. Disclaimer The following are subjective recommendations from my own experience 32 This Photo by Unknown Author is licensed under CC BY-NC
  • 33. For Developers/Data Scientists •For your use case: • Find opportunities for automation • Be careful about ROI! • Learn about domain-specific techniques/tools •Cloud knowledge is key: • Modern DevOps is heavily reliant on Cloud technology • In parallel to your domain knowledge, acquire Cloud architecture/deployment experience and knowledge •Book recommendation: “Deployment and Operations for Software Engineers” by Len Bass and John Klein 33
  • 34. For Architects • System quality implications of adopting DevOps practice(s): • Performance? • Reliability? • Recoverability? • Testability? • Modifiability?... • Special care for designing and maintaining the code around the code: • Infrastructure templates • Configuration management • Scripts • Secrets management… • Book recommendations: • “DevOps: A Software Architect’s Perspective” by Len Bass, Ingo Weber and Liming Zhu • “Production-Ready Microservices” by Susan J.Fowler 34
  • 35. For Managers •Consider business tradeoffs, especially Agility/speed vs extra costs • Long-term benefits vs immediate cost savings • Does the scale/lifecycle require this? •Listen to experts before making an investment •Keep an overview of the couplings between requirements engineering/planning/tracking/risk management and the adoption of DevOps •Book recommendations: • “DevOps Handbook” by Gene Kim, Jez Humble, Patrick Debois and John Willis 35