SlideShare a Scribd company logo
The Road to DevOps
Ahmed Misbah
2017
Agenda
• Introduction
– What is DevOps?
– History of DevOps
– What DevOps is not
– Why DevOps?
• DevOps Components
• Adopting DevOps
• Sample DevOps Pipeline
INTRODUCTION
What is DevOps?
DevOps is a culture, movement or practice that
emphasizes the collaboration and
communication of both Software Developers
and other Information-Technology
professionals while automating the process of
software delivery and infrastructure changes.
What is DevOps? (cont’d)
DevOps in an extension of the agile mindset and
methodologies that is focused on brining
customers value without compromising
creativity (development) and stability
(operations)
“DevOps Fundementals Workshop” V. 1.0 - SECC
What is DevOps? (cont’d)
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.
https://theagileadmin.com/what-is-devops/
What is DevOps? (cont’d)
DevOps (a clipped compound of "development" and
"operations") is a software engineering 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.
https://en.wikipedia.org/wiki/DevOps
History of DevOps
• 2007: Frustration of Patrick Debois.
• 2008: Agile Conference in Toronto. Andrew
Sheppard proposed Ad Hoc session called
“Agile Infrastructure”. No one attends. Session
cancelled. Patrick and Andrew meet 1-1.
• 2009: #DevOpsDays on October 30 and 31.
• And the story continues……
What DevOps is not
• DevOps is not simply combining Development
and Operations in one team
• DevOps is not (just) a function or title
• DevOps is not a separate team
• DevOps is not just tools
• DevOps is not a one-size-fits-all solution
• DevOps is not just automation
Why DevOps?
From State of DevOps Report 2017 -
Puppet.com
Why DevOps? (cont’d)
From State of DevOps Report 2017 -
Puppet.com
Why DevOps? (cont’d)
From State of DevOps Report 2016 -
Puppet.com
Why DevOps? (cont’d)
From State of
DevOps Report
2016 - Puppet.com
DEVOPS COMPONENTS
DevOps Components
• People:
– Mindset
– Roles and Responsibilities
• Process:
– Methodology
– DevOps Pipeline
– Practices (5 Cs, Release Management, IaC, etc.)
• Technology and Tools: DevOps Toolchain
People – Mindset
People – Mindset (cont’d)
People – Mindset(cont’d) - CALMS
Model
People – Roles and Responsibilities
• Release Engineer
• Infrastructure /
Cloud People
• System
Administrators
People – Roles and Responsibilities
Process - Methodology
• SCRUM
• Kanban
• Scrumban
• Extreme Programming (XP)
• Lean Software Development
• Crystal Clear Methods
• Feature-driven Development
• Agile Unified Process/Methods (AUP)
• Custom Hybrids
Process – Pipeline
Process – Pipeline (cont’d)
Process – Practices
Process – Practices (cont’d)
Process – Practices - Automation
“Automated Software Engineering applies
computation to software engineering activities.
The goal is to partially or fully automate these
activities, thereby significantly increasing both
quality and productivity.”
https://www.ercim.eu/publication/Ercim_News/
enw58/intro.html
Process – Practices - Automation
Examples:
• Build (Ant, Maven, Gradle, Sbt, Grunt, Gulp)
• Unit tests (JUnit)
• Code Inspection (SonarQube)
• Packaging (JAR, Docker)
• Deployment (Jenkins, Ansible, IBM Urban Code)
• System/Functional tests (Cucumber, JBehave,
Robot Framework, Selenium, Appium)
• Provisioning (Ansible, Puppet, Chef)
• Documentation (Swagger)
Process – Practices – 5 Cs
Process – Practices – Continuous
Delivery and Deployment
Process – Practices – Continuous
Testing
Process – Practices – Continuous
Testing
Web
Security Testing
Performance Testing
Process – Practices – Continuous
Integration
Process – Practices – Continuous
Monitoring
Process – Practices – Release
Management
Process – Practices – Infrastructure as
a Code
• Infrastructure as code (IaC) is the process of
managing and provisioning computer data
centers through machine-readable definition
files, rather than physical hardware
configuration or interactive configuration tools
• There are generally three approaches to
IaC: declarative (functional)
vs. imperative (procedural) vs. intelligent
(environment aware).
Process – Practices – Infrastructure as
a Code
• There are two methods of
IaC: 'Push' and 'Pull' . The main difference is
the manner in which the servers are told how
to be configured. In the Pull method the
server to be configured will pull its
configuration from the controlling server. In
the Push method the controlling server
pushes the configuration to the destination
system.
Process – Practices – Infrastructure as
a Code
Tool Released by Method Approach Written in
Ansible Tower
Ansible
(RedHat)
Push
Declarative and
imperative
Python
CFEngine CFEngine Pull Declarative -
Chef Chef Pull Imperative Ruby
Otter Inedo Push
Declarative and
imperative
-
Puppet Puppet Pull Declarative Ruby
SaltStack SaltStack Push and Pull
Declarative and
imperative
Python
Process – Practices – Containerization
Process – Practices – Containerization
Process – Practices – Containerization
Tech. and Tools– DevOps Toolchain
Tech. and Tools – DevOps Toolchain
Tech. and Tools – DevOps Toolchain
ADOPTING DEVOPS
Adopting DevOps
1. Prepare/Present case to Management:
– Problems
– Solution
– Risks
– Plan
– Cost
– ROI
2. Setup Team
3. Architect Process and Pipeline
Adopting DevOps (cont’d)
4. Develop POC
5. Assess and Refine
6. Spread the word
Adopting DevOps (cont’d)
Adopting DevOps (cont’d)
• Mean Time To Production: How long does it take for any newly
committed source code to reach production?
• Deployment Frequency: How often are releases deployed into
production?
• Average Lead Time: How long does it take for a new feature to be
developed, built, tested, and deployed into production?
• Deployment Speed: How much time does it take to deploy a new
release into production?
• Production Failure Rate: How often do failures occur in production?
• Mean Time To Recover (MTTR): How long does it take to recover
from a failure?
SAMPLE DEVOPS PIPELINE
CI/CD Pipeline for Java Microservices
The Road to DevOps V3
Technology Stack
• Terraform
• Jenkins 2
• Github
• SonarQube
• Jacoco
• Docker
• Docker Hub
• jUnit
• Mockito
• MockMVC
• H2
• Embedded Cassandra
• Embedded Kafka
• Flyway
• Ansible
• Robot Framework
• Swagger
• JMeter
• Kubernetes
CI/CD Pipeline for Android Application
Technology Stack
• Terraform
• Jenkins 2
• Github
• SonarQube
• Mockito
• Robolectric
• Espresso
• Ansible
• Robot Framework
• Swagger
• Appium
• RDT/STF
• HockeyApp
• Play Store
CI/CD Pipeline for Javascript Application
Technology Stack
• Terraform
• Jenkins 2
• Github
• NPM/Grunt/Gulp
• ESLint/SonarQube
• Chai/Mocha
• Ansible
• Robot Framework
• Swagger
• Selenium
Monitoring
Advanced Topics
Extended Reading
Extended Reading (cont’d)
Extended Reading (cont’d)
Extended Reading (cont’d)
Thanks!
Questions?

More Related Content

PDF
Getting Started with DevOps
PDF
DevOps for absolute beginners
PPTX
Career Paths for Software Professionals
PPTX
Devops
PDF
The Journey to DevOps #MFSummit2017
PPTX
DevOps Challenges and Best Practices
PPTX
AndGen+
PDF
DevOps or Devops - living in silos or living as a team
Getting Started with DevOps
DevOps for absolute beginners
Career Paths for Software Professionals
Devops
The Journey to DevOps #MFSummit2017
DevOps Challenges and Best Practices
AndGen+
DevOps or Devops - living in silos or living as a team

What's hot (20)

PPTX
Introducing DevOps
PPTX
Practical DevOps
PPTX
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
PDF
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
PDF
Introduction to DevOps
PPTX
What Does DevOps Culture Feel Like?
PPTX
DevOps introduction
PPTX
Devops
PDF
DevOps Primer : Presented by Uday Kumar
PPTX
ScrumOps - Scrum + Practical DevOps
PPTX
Building DevOps culture from bottom up
PDF
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PPTX
DevOps- exec level briefing
PPTX
How to get started with DevOps
PDF
Devops course content
PDF
Understanding DevOps in simpler way with Continuous Delivery
PPTX
DevOps - Overview - One of the Top Trends in IT Industry
PPTX
Devops online training ppt
PDF
Roles and Responsibilities of a DevOps Engineer
PPTX
DevOps 101 - an Introduction to DevOps
Introducing DevOps
Practical DevOps
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Introduction to DevOps
What Does DevOps Culture Feel Like?
DevOps introduction
Devops
DevOps Primer : Presented by Uday Kumar
ScrumOps - Scrum + Practical DevOps
Building DevOps culture from bottom up
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
DevOps- exec level briefing
How to get started with DevOps
Devops course content
Understanding DevOps in simpler way with Continuous Delivery
DevOps - Overview - One of the Top Trends in IT Industry
Devops online training ppt
Roles and Responsibilities of a DevOps Engineer
DevOps 101 - an Introduction to DevOps
Ad

Similar to The Road to DevOps V3 (20)

PDF
DevOps Culture & Methodology Intro
PPTX
Testing in DevOps world
PPTX
Introduction to devops
PPTX
1st Riga DevOps meetup
PPTX
DevOps Culture transformation in Modern Software Delivery
PDF
Comprehensive Guide to Hire DevOps Engineer.pdf
PPTX
DevOps Online Training | DevOps Training Institute in Hyderabad
PPTX
DevOps-as-a-Service: Towards Automating the Automation
PPTX
DevOps DevSecOps Based on Training Materials
PPTX
DevOps_service.pptx
PPTX
DevOps - Motivadores e Benefícios
PPTX
Dev ops != Dev+Ops
PPTX
PDF
PDF
DevOps Foundations
PDF
intro to DevOps
PDF
Tell me how you provision and I'll tell you how you are
PDF
DevOps Evolution - The Next Generation ?
PPTX
PPTX
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
DevOps Culture & Methodology Intro
Testing in DevOps world
Introduction to devops
1st Riga DevOps meetup
DevOps Culture transformation in Modern Software Delivery
Comprehensive Guide to Hire DevOps Engineer.pdf
DevOps Online Training | DevOps Training Institute in Hyderabad
DevOps-as-a-Service: Towards Automating the Automation
DevOps DevSecOps Based on Training Materials
DevOps_service.pptx
DevOps - Motivadores e Benefícios
Dev ops != Dev+Ops
DevOps Foundations
intro to DevOps
Tell me how you provision and I'll tell you how you are
DevOps Evolution - The Next Generation ?
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Ad

More from Ahmed Misbah (20)

PDF
6+1 Technical Tips for Tech Startups (2023 Edition)
PDF
Migrating to Microservices Patterns and Technologies (edition 2023)
PDF
Practical Microservice Architecture (edition 2022).pdf
PDF
Istio as an enabler for migrating to microservices (edition 2022)
PDF
DevOps for absolute beginners (2022 edition)
PDF
TDD Anti-patterns (2022 edition)
PPTX
Implementing FaaS on Kubernetes using Kubeless
PDF
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
PDF
Introduction to TDD
PPTX
Microservice test strategies for applications based on Spring, K8s and Istio
PPTX
Cucumber jvm best practices v3
PPTX
Welcome to the Professional World
PPTX
More topics on Java
PPTX
Effective User Story Writing
PPTX
DDT Testing Library for Android
PPTX
Big Data for QAs
PPTX
Software Architecture
PPTX
Software Design
PPTX
How Spinnaker helped us achieve real Continuous Delivery
PPTX
Agile Software Development and DevOps 21092019
6+1 Technical Tips for Tech Startups (2023 Edition)
Migrating to Microservices Patterns and Technologies (edition 2023)
Practical Microservice Architecture (edition 2022).pdf
Istio as an enabler for migrating to microservices (edition 2022)
DevOps for absolute beginners (2022 edition)
TDD Anti-patterns (2022 edition)
Implementing FaaS on Kubernetes using Kubeless
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Introduction to TDD
Microservice test strategies for applications based on Spring, K8s and Istio
Cucumber jvm best practices v3
Welcome to the Professional World
More topics on Java
Effective User Story Writing
DDT Testing Library for Android
Big Data for QAs
Software Architecture
Software Design
How Spinnaker helped us achieve real Continuous Delivery
Agile Software Development and DevOps 21092019

Recently uploaded (20)

PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPT
Introduction Database Management System for Course Database
PDF
Digital Strategies for Manufacturing Companies
PPTX
history of c programming in notes for students .pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
System and Network Administration Chapter 2
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Nekopoi APK 2025 free lastest update
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Introduction Database Management System for Course Database
Digital Strategies for Manufacturing Companies
history of c programming in notes for students .pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
System and Network Administration Chapter 2
PTS Company Brochure 2025 (1).pdf.......
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
CHAPTER 2 - PM Management and IT Context
Operating system designcfffgfgggggggvggggggggg
VVF-Customer-Presentation2025-Ver1.9.pptx
Odoo Companies in India – Driving Business Transformation.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Navsoft: AI-Powered Business Solutions & Custom Software Development
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Nekopoi APK 2025 free lastest update
Design an Analysis of Algorithms I-SECS-1021-03
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...

The Road to DevOps V3

  • 1. The Road to DevOps Ahmed Misbah 2017
  • 2. Agenda • Introduction – What is DevOps? – History of DevOps – What DevOps is not – Why DevOps? • DevOps Components • Adopting DevOps • Sample DevOps Pipeline
  • 4. What is DevOps? DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both Software Developers and other Information-Technology professionals while automating the process of software delivery and infrastructure changes.
  • 5. What is DevOps? (cont’d) DevOps in an extension of the agile mindset and methodologies that is focused on brining customers value without compromising creativity (development) and stability (operations) “DevOps Fundementals Workshop” V. 1.0 - SECC
  • 6. What is DevOps? (cont’d) 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. https://theagileadmin.com/what-is-devops/
  • 7. What is DevOps? (cont’d) DevOps (a clipped compound of "development" and "operations") is a software engineering 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. https://en.wikipedia.org/wiki/DevOps
  • 8. History of DevOps • 2007: Frustration of Patrick Debois. • 2008: Agile Conference in Toronto. Andrew Sheppard proposed Ad Hoc session called “Agile Infrastructure”. No one attends. Session cancelled. Patrick and Andrew meet 1-1. • 2009: #DevOpsDays on October 30 and 31. • And the story continues……
  • 9. What DevOps is not • DevOps is not simply combining Development and Operations in one team • DevOps is not (just) a function or title • DevOps is not a separate team • DevOps is not just tools • DevOps is not a one-size-fits-all solution • DevOps is not just automation
  • 10. Why DevOps? From State of DevOps Report 2017 - Puppet.com
  • 11. Why DevOps? (cont’d) From State of DevOps Report 2017 - Puppet.com
  • 13. From State of DevOps Report 2016 - Puppet.com
  • 14. Why DevOps? (cont’d) From State of DevOps Report 2016 - Puppet.com
  • 16. DevOps Components • People: – Mindset – Roles and Responsibilities • Process: – Methodology – DevOps Pipeline – Practices (5 Cs, Release Management, IaC, etc.) • Technology and Tools: DevOps Toolchain
  • 18. People – Mindset (cont’d)
  • 20. People – Roles and Responsibilities • Release Engineer • Infrastructure / Cloud People • System Administrators
  • 21. People – Roles and Responsibilities
  • 22. Process - Methodology • SCRUM • Kanban • Scrumban • Extreme Programming (XP) • Lean Software Development • Crystal Clear Methods • Feature-driven Development • Agile Unified Process/Methods (AUP) • Custom Hybrids
  • 24. Process – Pipeline (cont’d)
  • 26. Process – Practices (cont’d)
  • 27. Process – Practices - Automation “Automated Software Engineering applies computation to software engineering activities. The goal is to partially or fully automate these activities, thereby significantly increasing both quality and productivity.” https://www.ercim.eu/publication/Ercim_News/ enw58/intro.html
  • 28. Process – Practices - Automation Examples: • Build (Ant, Maven, Gradle, Sbt, Grunt, Gulp) • Unit tests (JUnit) • Code Inspection (SonarQube) • Packaging (JAR, Docker) • Deployment (Jenkins, Ansible, IBM Urban Code) • System/Functional tests (Cucumber, JBehave, Robot Framework, Selenium, Appium) • Provisioning (Ansible, Puppet, Chef) • Documentation (Swagger)
  • 30. Process – Practices – Continuous Delivery and Deployment
  • 31. Process – Practices – Continuous Testing
  • 32. Process – Practices – Continuous Testing Web Security Testing Performance Testing
  • 33. Process – Practices – Continuous Integration
  • 34. Process – Practices – Continuous Monitoring
  • 35. Process – Practices – Release Management
  • 36. Process – Practices – Infrastructure as a Code • Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools • There are generally three approaches to IaC: declarative (functional) vs. imperative (procedural) vs. intelligent (environment aware).
  • 37. Process – Practices – Infrastructure as a Code • There are two methods of IaC: 'Push' and 'Pull' . The main difference is the manner in which the servers are told how to be configured. In the Pull method the server to be configured will pull its configuration from the controlling server. In the Push method the controlling server pushes the configuration to the destination system.
  • 38. Process – Practices – Infrastructure as a Code Tool Released by Method Approach Written in Ansible Tower Ansible (RedHat) Push Declarative and imperative Python CFEngine CFEngine Pull Declarative - Chef Chef Pull Imperative Ruby Otter Inedo Push Declarative and imperative - Puppet Puppet Pull Declarative Ruby SaltStack SaltStack Push and Pull Declarative and imperative Python
  • 39. Process – Practices – Containerization
  • 40. Process – Practices – Containerization
  • 41. Process – Practices – Containerization
  • 42. Tech. and Tools– DevOps Toolchain
  • 43. Tech. and Tools – DevOps Toolchain
  • 44. Tech. and Tools – DevOps Toolchain
  • 46. Adopting DevOps 1. Prepare/Present case to Management: – Problems – Solution – Risks – Plan – Cost – ROI 2. Setup Team 3. Architect Process and Pipeline
  • 47. Adopting DevOps (cont’d) 4. Develop POC 5. Assess and Refine 6. Spread the word
  • 49. Adopting DevOps (cont’d) • Mean Time To Production: How long does it take for any newly committed source code to reach production? • Deployment Frequency: How often are releases deployed into production? • Average Lead Time: How long does it take for a new feature to be developed, built, tested, and deployed into production? • Deployment Speed: How much time does it take to deploy a new release into production? • Production Failure Rate: How often do failures occur in production? • Mean Time To Recover (MTTR): How long does it take to recover from a failure?
  • 51. CI/CD Pipeline for Java Microservices
  • 53. Technology Stack • Terraform • Jenkins 2 • Github • SonarQube • Jacoco • Docker • Docker Hub • jUnit • Mockito • MockMVC • H2 • Embedded Cassandra • Embedded Kafka • Flyway • Ansible • Robot Framework • Swagger • JMeter • Kubernetes
  • 54. CI/CD Pipeline for Android Application
  • 55. Technology Stack • Terraform • Jenkins 2 • Github • SonarQube • Mockito • Robolectric • Espresso • Ansible • Robot Framework • Swagger • Appium • RDT/STF • HockeyApp • Play Store
  • 56. CI/CD Pipeline for Javascript Application
  • 57. Technology Stack • Terraform • Jenkins 2 • Github • NPM/Grunt/Gulp • ESLint/SonarQube • Chai/Mocha • Ansible • Robot Framework • Swagger • Selenium