SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
Getting Started
with DevOps
Ahmed MISBAH
December 19th, 2020
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
A little about me….
u Currently a Software Architect and team leader
u Delivered many session on DevOps including:
o AMECSE 2016: “Agile Software Development and DevOps”
o AMECSE 2017 and Orange DevTest Days: “The Road to DevOps”
o DevOpsDays Cairo 2019: “How Spinnaker helped us achieve real CD”
o DevOpsDays Cairo 2020: “Implementing FaaS on K8s using Kubeless”
o Both previous session were also delivered at Orange DevTest Days
2020
o ”DevOps for absolute beginners” live on Youtube, December 2020
u Published YouTube videos promoting DevOps practices:
o TDD in IaC
o SMED in Software Development using DevOps tools
o How Serverless Architectures can help startups
o Kubeless live demo
o Generalists vs. Specialists in Agile teams
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
DevOps Story
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
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?
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” V1.0 - SECC
The world before DevOps
The world before DevOps –
Agile
The world before DevOps
With DevOps…
DevOps is not….
u simply combining Development and Operations in one
team
u simply a function or title
u just tools and automation
u a separate team
u a one-size-fits-all solution
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
DevOps Framework Overview
People
• Mindset
Process
•Practices:
oDevOps Pipeline
o5Cs
oAutomation
oIaC
oContainerization
•KPIs
Technology
• DevOps
toolchain
• DevOps
periodic
table
DevOps Framework
u People
o Mindset
u Process
o Practices:
o Pipelines
o 5Cs
o Automation
o IaC
o Containerization
o KPIs
u Technology
o DevOps toolchain
o DevOps periodic table
Mindset
Mindset
Mindset – Lean Thinking
Lean (SWD or Manufacturing) is a systematic method in which
the core idea is to maximize customer value while
minimizing waste
u Value is everything that your customer is willing to pay
money for
u Waste is any action or step in a process that does not add
value to the customer. In other words, waste is any process
that the customer does not want to pay for
u Flow is the principle of creating a value chain with no
interruption in the production process and a state where
each activity is fully in step with every other
Mindset Conclusion
1. Bridging gaps
2. Delivering value to customers
3. Flow
As simple as that!
DevOps Framework
u People
o Mindset
u Process
o Practices:
o DevOps Pipeline
o 5Cs
o Automation
o IaC
o Containerization
o KPIs
u Technology
o DevOps toolchain
o DevOps periodic table
DevOps Pipeline
A DevOps pipeline is a set of practices that the development (Dev) and
operations (Ops) teams implement to build, test, and deploy software
faster and easier. One of the primary purposes of a pipeline is to keep
the software development process organized and focused.
DevOps Pipeline
5Cs
Continuous
Integration
Continuous
Testing
Continuous
Delivery
Continuous
Deployment
Continuous
Monitoring
5Cs of DevOps are a set of practices in software development that are of
repeatable nature and can be automated to increase quality and
productivity.
5Cs and DevOps Pipeline
Automation
Automation is the process of creating software and systems to replace
repeatable processes / activities and reduce manual intervention, thereby
significantly increasing both quality and productivity.
Examples:
u Build (Ant, Maven, Gradle, Sbt, Grunt, Gulp)
u Unit tests (JUnit)
u Code Inspection (SonarQube)
u Packaging (JAR, Docker)
u Deployment (Jenkins, Ansible, Spinnaker)
u System/Functional tests (Cucumber, JBehave, Robot Framework,
Selenium, Appium)
u Non-functional tests (Jmeter, Gatling, OWASP ZAP)
u Provisioning (Ansible, Puppet, Chef, Terraform)
u Documentation (Swagger)
Infrastructure as 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.
Containerization
Containerization is the process of packaging an application
along with its required libraries, frameworks, and
configuration files together so that it can be run in various
computing environments efficiently.
DevOps Practices Combined
DevOps Framework
u People
o Mindset
u Process
o Practices:
o DevOps Pipeline
o 5Cs
o Automation
o IaC
o Containerization
o KPIs
u Technology
o DevOps toolchain
o DevOps periodic table
KPIs - CALMS Model
• People focus
• Mindset
• Embrace change
Culture
• CI/CD
• Infrastructure as Code (IaC)Automation
• Focus on producing value for the end-user
• ProductivityLean
• Measure everything
• Show improvementMeasurement
• Collaboration
• Communication
• Open information sharing
Sharing
More KPIs
u Mean Time To Production: How long does it take for any newly committed
source code to reach production?
u Deployment Frequency: How often are releases deployed into production?
u Average Lead Time: How long does it take for a new feature to be
developed, built, tested, and deployed into production?
u Deployment Speed: How much time does it take to deploy a new release
into production?
u Production Failure Rate: How often do failures occur in production?
u Mean Time To Recover (MTTR): How long does it take to recover from a
failure?
DevOps Framework
u People
o Mindset
u Process
o Practices:
o DevOps Pipeline
o 5Cs
o Automation
o IaC
o Containerization
o KPIs
u Technology
o DevOps toolchain
o DevOps Periodic Table
DevOps Toolchain
DevOps Toolchain
DevOps Periodic Table
DevOps Toolchain Example
Plan
Code
Build
TestRelease
Deploy
Monitor
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
Core Skills for all functions
Specific Skills per function /
role
Developer
•TDD
•BDD
•Static Code
Analysis
•Serverless
Architectures
•SMED (e.g.
Vagrant)
Tester / SDET
•BDD
•Test
Automation at
all levels and
of all types
•Chaos
Engineering
Cloud Architect
/ Engineer
•Solutions
Architecture
for major
cloud vendors
•Cost
optimization
SRE (DevOps
Engineer)
•IaC
•Configuration
Management
tools (e.g.
Ansible)
•Chaos
Engineering
•Infrastructure
testing tools
(e.g.
ServerSpec)
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
eDevOps
More topics
u NoOps
u Continous Feedback
u Continous Documentation
u Continous Inspection
u Everything as Code
u GitOps
u Infratsructure testing and Chaos Engineering
u AIOps
u MLOps
Agenda
1. A little about me
2. DevOps story
3. What is DevOps?
4. DevOps Framework
5. Becoming a DevOps Engineer
6. eDevOps
7. Applying DevOps in Google Summer of Code!
DevOps Adoption Plan
1. Build the DevOps team
2. Design the DevOps methodology
3. Design the software architecture
4. Design the DevOps Pipeline
5. Start building the DevOps pipeline
6. Start building the software solution
7. Deliver, measure and iterate with improvements
Build the team
1. Choose the members
2. Agree on roles and responsibilities
3. Assign roles to members
My recommendations for team roles:
u Product Owner
u Developers or SDETs
u SREs
u Team must be a cross-functional and self-organizing team.
u Team members should be agile generalists (master of one
or some and jack of all trades)
DevOps methodology
My recommendation is to read the Agile Manifesto and adopt
either eXtreme Programming and / or Kanban
The Software Architecture
My recommendation is to go for:
1. A Cloud-native, 12 Factor application
2. Serverless Architectures using Google Cloud Functions or
classic monolithic or microservice architecture using GKE
DevOps Pipeline
My recommendation is to go for one of two options:
u An ”All Google” pipeline
OR
u A heterogenous pipeline
“All Google” Pipeline
Hetrogenous Pipeline
Plan
Code
Build
TestRelease
Deploy
Monitor
Google Cloud Monitoring
Depending on
programming
language
Hetrogenous Pipeline
Plan
Code
Build
TestRelease
Deploy
Monitor
Google Cloud Monitoring
OR
Depending on
programming
language
Hetrogenous Pipeline
Plan
Code
Build
TestRelease
Deploy
Monitor
Google Cloud Monitoring
OR
Depending on
programming
language
Measure and improve
u Conduct Agile retrospectives
u Measure efficiency of DevOpe framework and pipeline using
CALMS and metrics in slide 35
u Continuously improve!
DevOps Adoption Overview
Thank You
https://twitter.com/AhmedMisbahTech https://www.linkedin.com/in/ahmed-
misbah-msc-251a3a32/
https://www.youtube.com/channel/UCZxEB
qvA1fGKLusLwoadf_w

Más contenido relacionado

La actualidad más candente

DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 

La actualidad más candente (20)

intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?
 
DevOps
DevOps DevOps
DevOps
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Devops
DevopsDevops
Devops
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
DevOps
DevOpsDevOps
DevOps
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
10 Business Advantages of DevOps
10 Business Advantages of DevOps10 Business Advantages of DevOps
10 Business Advantages of DevOps
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 
devops
devops devops
devops
 
DevOps for beginners
DevOps for beginnersDevOps for beginners
DevOps for beginners
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April Meetup
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps beyond the Tools
DevOps beyond the ToolsDevOps beyond the Tools
DevOps beyond the Tools
 

Similar a Getting Started with DevOps

What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
anilpmuvvala
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
anilpmuvvala
 

Similar a Getting Started with DevOps (20)

DevOps for absolute beginners
DevOps for absolute beginnersDevOps for absolute beginners
DevOps for absolute beginners
 
The Road to DevOps V3
The Road to DevOps V3The Road to DevOps V3
The Road to DevOps V3
 
DevOps Culture & Methodology Intro
DevOps Culture & Methodology IntroDevOps Culture & Methodology Intro
DevOps Culture & Methodology Intro
 
Dev ops
Dev opsDev ops
Dev ops
 
What is DevOps All You Need To Know.pdf
What is DevOps All You Need To Know.pdfWhat is DevOps All You Need To Know.pdf
What is DevOps All You Need To Know.pdf
 
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
 
Dev ops
Dev opsDev ops
Dev ops
 
What_is_DevOps.pptx
What_is_DevOps.pptxWhat_is_DevOps.pptx
What_is_DevOps.pptx
 
1st Riga DevOps meetup
1st Riga DevOps meetup1st Riga DevOps meetup
1st Riga DevOps meetup
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
Dev ops interview questions & answers
Dev ops interview questions & answersDev ops interview questions & answers
Dev ops interview questions & answers
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
DevOps.pptx
DevOps.pptxDevOps.pptx
DevOps.pptx
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
 
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
 
Best Practices & Tools for DevOps Testing Strategy.pdf
Best Practices & Tools for DevOps Testing Strategy.pdfBest Practices & Tools for DevOps Testing Strategy.pdf
Best Practices & Tools for DevOps Testing Strategy.pdf
 
Devops
DevopsDevops
Devops
 
Dev ops is a journey choose your own adventure v2
Dev ops is a journey   choose your own adventure v2Dev ops is a journey   choose your own adventure v2
Dev ops is a journey choose your own adventure v2
 
DevOps a peek into high performing organizations
DevOps a peek into high performing organizationsDevOps a peek into high performing organizations
DevOps a peek into high performing organizations
 

Más de Ahmed Misbah

Más de 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
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software Professionals
 
Effective User Story Writing
Effective User Story WritingEffective User Story Writing
Effective User Story Writing
 
AndGen+
AndGen+AndGen+
AndGen+
 
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
 

Último

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Último (20)

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 

Getting Started with DevOps

  • 1. Getting Started with DevOps Ahmed MISBAH December 19th, 2020
  • 2. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 3. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 4. A little about me…. u Currently a Software Architect and team leader u Delivered many session on DevOps including: o AMECSE 2016: “Agile Software Development and DevOps” o AMECSE 2017 and Orange DevTest Days: “The Road to DevOps” o DevOpsDays Cairo 2019: “How Spinnaker helped us achieve real CD” o DevOpsDays Cairo 2020: “Implementing FaaS on K8s using Kubeless” o Both previous session were also delivered at Orange DevTest Days 2020 o ”DevOps for absolute beginners” live on Youtube, December 2020 u Published YouTube videos promoting DevOps practices: o TDD in IaC o SMED in Software Development using DevOps tools o How Serverless Architectures can help startups o Kubeless live demo o Generalists vs. Specialists in Agile teams
  • 5. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 7. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 8. 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.
  • 9. What is DevOps? 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” V1.0 - SECC
  • 11. The world before DevOps – Agile
  • 14. DevOps is not…. u simply combining Development and Operations in one team u simply a function or title u just tools and automation u a separate team u a one-size-fits-all solution
  • 15. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 16. DevOps Framework Overview People • Mindset Process •Practices: oDevOps Pipeline o5Cs oAutomation oIaC oContainerization •KPIs Technology • DevOps toolchain • DevOps periodic table
  • 17. DevOps Framework u People o Mindset u Process o Practices: o Pipelines o 5Cs o Automation o IaC o Containerization o KPIs u Technology o DevOps toolchain o DevOps periodic table
  • 20. Mindset – Lean Thinking Lean (SWD or Manufacturing) is a systematic method in which the core idea is to maximize customer value while minimizing waste u Value is everything that your customer is willing to pay money for u Waste is any action or step in a process that does not add value to the customer. In other words, waste is any process that the customer does not want to pay for u Flow is the principle of creating a value chain with no interruption in the production process and a state where each activity is fully in step with every other
  • 21. Mindset Conclusion 1. Bridging gaps 2. Delivering value to customers 3. Flow As simple as that!
  • 22. DevOps Framework u People o Mindset u Process o Practices: o DevOps Pipeline o 5Cs o Automation o IaC o Containerization o KPIs u Technology o DevOps toolchain o DevOps periodic table
  • 23. DevOps Pipeline A DevOps pipeline is a set of practices that the development (Dev) and operations (Ops) teams implement to build, test, and deploy software faster and easier. One of the primary purposes of a pipeline is to keep the software development process organized and focused.
  • 25. 5Cs Continuous Integration Continuous Testing Continuous Delivery Continuous Deployment Continuous Monitoring 5Cs of DevOps are a set of practices in software development that are of repeatable nature and can be automated to increase quality and productivity.
  • 26. 5Cs and DevOps Pipeline
  • 27. Automation Automation is the process of creating software and systems to replace repeatable processes / activities and reduce manual intervention, thereby significantly increasing both quality and productivity. Examples: u Build (Ant, Maven, Gradle, Sbt, Grunt, Gulp) u Unit tests (JUnit) u Code Inspection (SonarQube) u Packaging (JAR, Docker) u Deployment (Jenkins, Ansible, Spinnaker) u System/Functional tests (Cucumber, JBehave, Robot Framework, Selenium, Appium) u Non-functional tests (Jmeter, Gatling, OWASP ZAP) u Provisioning (Ansible, Puppet, Chef, Terraform) u Documentation (Swagger)
  • 28. Infrastructure as 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.
  • 29. Containerization Containerization is the process of packaging an application along with its required libraries, frameworks, and configuration files together so that it can be run in various computing environments efficiently.
  • 31. DevOps Framework u People o Mindset u Process o Practices: o DevOps Pipeline o 5Cs o Automation o IaC o Containerization o KPIs u Technology o DevOps toolchain o DevOps periodic table
  • 32. KPIs - CALMS Model • People focus • Mindset • Embrace change Culture • CI/CD • Infrastructure as Code (IaC)Automation • Focus on producing value for the end-user • ProductivityLean • Measure everything • Show improvementMeasurement • Collaboration • Communication • Open information sharing Sharing
  • 33. More KPIs u Mean Time To Production: How long does it take for any newly committed source code to reach production? u Deployment Frequency: How often are releases deployed into production? u Average Lead Time: How long does it take for a new feature to be developed, built, tested, and deployed into production? u Deployment Speed: How much time does it take to deploy a new release into production? u Production Failure Rate: How often do failures occur in production? u Mean Time To Recover (MTTR): How long does it take to recover from a failure?
  • 34. DevOps Framework u People o Mindset u Process o Practices: o DevOps Pipeline o 5Cs o Automation o IaC o Containerization o KPIs u Technology o DevOps toolchain o DevOps Periodic Table
  • 39. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 40.
  • 41. Core Skills for all functions
  • 42. Specific Skills per function / role Developer •TDD •BDD •Static Code Analysis •Serverless Architectures •SMED (e.g. Vagrant) Tester / SDET •BDD •Test Automation at all levels and of all types •Chaos Engineering Cloud Architect / Engineer •Solutions Architecture for major cloud vendors •Cost optimization SRE (DevOps Engineer) •IaC •Configuration Management tools (e.g. Ansible) •Chaos Engineering •Infrastructure testing tools (e.g. ServerSpec)
  • 43.
  • 44. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 46. More topics u NoOps u Continous Feedback u Continous Documentation u Continous Inspection u Everything as Code u GitOps u Infratsructure testing and Chaos Engineering u AIOps u MLOps
  • 47. Agenda 1. A little about me 2. DevOps story 3. What is DevOps? 4. DevOps Framework 5. Becoming a DevOps Engineer 6. eDevOps 7. Applying DevOps in Google Summer of Code!
  • 48. DevOps Adoption Plan 1. Build the DevOps team 2. Design the DevOps methodology 3. Design the software architecture 4. Design the DevOps Pipeline 5. Start building the DevOps pipeline 6. Start building the software solution 7. Deliver, measure and iterate with improvements
  • 49. Build the team 1. Choose the members 2. Agree on roles and responsibilities 3. Assign roles to members My recommendations for team roles: u Product Owner u Developers or SDETs u SREs u Team must be a cross-functional and self-organizing team. u Team members should be agile generalists (master of one or some and jack of all trades)
  • 50. DevOps methodology My recommendation is to read the Agile Manifesto and adopt either eXtreme Programming and / or Kanban
  • 51. The Software Architecture My recommendation is to go for: 1. A Cloud-native, 12 Factor application 2. Serverless Architectures using Google Cloud Functions or classic monolithic or microservice architecture using GKE
  • 52. DevOps Pipeline My recommendation is to go for one of two options: u An ”All Google” pipeline OR u A heterogenous pipeline
  • 55. Hetrogenous Pipeline Plan Code Build TestRelease Deploy Monitor Google Cloud Monitoring OR Depending on programming language
  • 56. Hetrogenous Pipeline Plan Code Build TestRelease Deploy Monitor Google Cloud Monitoring OR Depending on programming language
  • 57. Measure and improve u Conduct Agile retrospectives u Measure efficiency of DevOpe framework and pipeline using CALMS and metrics in slide 35 u Continuously improve!