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
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

What's hot

Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
Nishanth K Hydru
 
Practical DevOps
Practical DevOpsPractical DevOps
Practical DevOps
Naveen Kumar Singh
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
johnfcshaw
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Ahmed Adel
 
What Does DevOps Culture Feel Like?
What Does DevOps Culture Feel Like?What Does DevOps Culture Feel Like?
What Does DevOps Culture Feel Like?
Matthew Skelton
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
Mettje Heegstra
 
Devops
DevopsDevops
Devops
JyothirmaiG4
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday Kumar
oGuild .
 
ScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOpsScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOps
Naveen Kumar Singh
 
Building DevOps culture from bottom up
Building DevOps culture from bottom upBuilding DevOps culture from bottom up
Building DevOps culture from bottom up
SQUADEX
 
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
Puppet
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefing
Ravi Tadwalkar
 
How to get started with DevOps
How to get started with DevOps How to get started with DevOps
How to get started with DevOps
Red Gate Software
 
Devops course content
Devops course contentDevops course content
Devops course content
Thota Ravindra Reddy
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
Swapnil Jain
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT Industry
Rahul Tilloo
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
KhalidQureshi31
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps Engineer
ZaranTech LLC
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
Red Gate Software
 

What's hot (20)

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

Similar to The Road to DevOps V3

DevOps Culture & Methodology Intro
DevOps Culture & Methodology IntroDevOps Culture & Methodology Intro
DevOps Culture & Methodology Intro
Najib Radzuan
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps world
Moataz Nabil
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
UtpalenduChakrobortt1
 
1st Riga DevOps meetup
1st Riga DevOps meetup1st Riga DevOps meetup
1st Riga DevOps meetup
Uldis Karlovs-Karlovskis
 
DevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software DeliveryDevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software Delivery
Najib Radzuan
 
Comprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfComprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdf
EcosmobTechnologies1
 
DevOps Online Training | DevOps Training Institute in Hyderabad
DevOps Online Training | DevOps Training Institute in HyderabadDevOps Online Training | DevOps Training Institute in Hyderabad
DevOps Online Training | DevOps Training Institute in Hyderabad
ranjithvisualpath44
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
Keith Pleas
 
DevOps_service.pptx
DevOps_service.pptxDevOps_service.pptx
DevOps_service.pptx
phamvinhcntt
 
DevOps - Motivadores e Benefícios
DevOps - Motivadores e BenefíciosDevOps - Motivadores e Benefícios
DevOps - Motivadores e Benefícios
Flávio Secchieri Mariotti
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
DevOps
DevOpsDevOps
Dev ops
Dev opsDev ops
DevOps Foundations
DevOps FoundationsDevOps Foundations
DevOps Foundations
Amr Fawzy
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
Mujahed Al-Tahle
 
Tell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you areTell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you are
Juan Vicente Herrera Ruiz de Alejo
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?
Marc Hornbeek
 
Dev ops
Dev opsDev ops
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Inspectie van het Onderwijs
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
minseok kim
 

Similar to The Road to DevOps V3 (20)

DevOps Culture & Methodology Intro
DevOps Culture & Methodology IntroDevOps Culture & Methodology Intro
DevOps Culture & Methodology Intro
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps world
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
1st Riga DevOps meetup
1st Riga DevOps meetup1st Riga DevOps meetup
1st Riga DevOps meetup
 
DevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software DeliveryDevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software Delivery
 
Comprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfComprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdf
 
DevOps Online Training | DevOps Training Institute in Hyderabad
DevOps Online Training | DevOps Training Institute in HyderabadDevOps Online Training | DevOps Training Institute in Hyderabad
DevOps Online Training | DevOps Training Institute in Hyderabad
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
DevOps_service.pptx
DevOps_service.pptxDevOps_service.pptx
DevOps_service.pptx
 
DevOps - Motivadores e Benefícios
DevOps - Motivadores e BenefíciosDevOps - Motivadores e Benefícios
DevOps - Motivadores e Benefícios
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
DevOps
DevOpsDevOps
DevOps
 
Dev ops
Dev opsDev ops
Dev ops
 
DevOps Foundations
DevOps FoundationsDevOps Foundations
DevOps Foundations
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
Tell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you areTell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you are
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?
 
Dev ops
Dev opsDev ops
Dev ops
 
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
 

More from Ahmed Misbah

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

More from Ahmed Misbah (20)

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

Recently uploaded

socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 

Recently uploaded (20)

socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 

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
  • 52.
  • 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