SlideShare a Scribd company logo
System Analysisand Design
DevOps
Spring 2021
By: Vahid Rahimian
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
1
Agenda
•What is DevOps?
•DevOps and Agile
•Version Control and Automation
•CI / CD
•DevOps Tools
•DevOps Topologies
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
2
What is DevOps?
3
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
Why DevOps?
• To reduce deployment lead time to minutes!
• The business demands faster and continuous
delivery.
• Most organizations are not able to deploy
production changes in minutes or hours, instead
requiring weeks or months.
• Opposing goals between Development and
Operations:
• Conflict between agile development (urgent
projects) and stable operation (keep it running,
don’t mess with the environment)
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
4
Shared Devs and Ops Values
• Value collaboration on all aspects of the system
• Code and infrastructure/configuration
• Solve issues early and quickly
• Have a production-first mindset
• Version control everything
• Automate everything (esp. manually intensive
tasks)
• Create small, frequent deployments (of code and
configuration)
• Monitor, log and validate performance
obsessively
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
5
Typical problems between Dev
and Ops
Leads to a downward spiral: Everybody gets a little busier,
work takes a little more time, communications become a
little slower, and work queues get a little longer. Work
requires more communication, coordination, and approvals.
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
6
What is DevOps?
• Tear down the wall between
Development and Operations:
• Continuous Delivery: Continuous
Integration, Testing and Deployment
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
7
What is DevOps?
• Small teams independently
implement their features, validate
their correctness in production-like
environments, and have their code
deployed into production quickly,
safely and securely.”
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
8
What is DevOps?
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
9
“DevOps is
development
and operations
collaboration”
“DevOps is
treating your
infrastructure
as code”
“DevOps
is using
automation”
“Kanban
for Ops?”
“DevOps
is feature
switches”
“DevOps
is small
deployments”
Definition of DevOps
“DevOps is the union of people,
processes and products to enable
continuous delivery of value to end
users.”
Donovan Brown, Microsoft DevOps PM
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
10
DevOps Consists of
• Culture
• Measurement
• Automation
• Collaboration
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
11
Principles, Concepts, Practices
and People
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
12
DevOps Principles: Flow
• Enable fast flow of work from
Development to Operations to the
customer
• Make work visible using visual boards
• Limit work in process (WIP)
• Reduce batch sizes
• Reduce the number of handovers
• Continually identify and elevate constraints
• Eliminate hardships and waste in the value
stream
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
13
DevOps Principles: Feedback
• Enable fast and constant flow of feedback
at all value stream stages
• Establish fast feedback loops at every step
of the process
• Establish pervasive production telemetry
ensuring that problems are detected and
corrected as they occur
• Keep pushing quality closer to the source
• Enable optimizing for downstream work
centers
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
14
DevOps Principles: Continual
Learning & Improvement
• Enable a high-trust, experimenting and risk-
taking culture as well as organizational
learning, both from successes and failures
• Enabling organizational learning
• Institutionalize the improvement of daily work
• Transform local discoveries into global
improvements
• Inject resilience patterns into daily work
• Encourage leaders to reinforce a learning culture
• Experiment, fail fast - If it hurts, do it more often
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
15
A Note on Product
• Strive towards delivering a minimum viable
product (MVP), the smallest amount of
functionality having value to the customer, as
fast and reliably as it can.
• MVP reflects the end-product in a minimal
functional form. It is used to test new ideas and
verify whether the hypothesis are correct.
• MVP is that product which has just those
features and no more that allows you to ship
product that early adopters see and, at least
some of whom resonate with, pay you money
for, and start to give you feedback on
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
16
MVP
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
17
MVP
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
18
DevOps – The Holistic View
• Development
• Requirements, version control, test case management, bug
tracking, etc
• Testing
• Unit, integration, exploratory, load, automated UI,
performance, etc
• Deployment
• Environment definition, provisioning and configuration
• Application configuration and deployment
• Approval workflows and automation
• Monitoring
• Application Performance Monitoring
• Alerts and notifications
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
19
What DevOps is NOT
• It is not a product
• It is not a specification
• It is not centralized
• It is not trademarked
“You cannot buy DevOps and install it. DevOps is
not just automation or infrastructure as
code. DevOps is people following a process
enabled by products to deliver value to our end
users.”
- Donovan Brown
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
20
What’s driving DevOps?
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
21
The agile
Methodologies are
accelerating the
construction process
Current ITLM/ITSM “best
practices” made the release
and operate processes
reliable, but not agile
Disconnects between
Development and
Operations increase
mistakes and MTTR
when issues occur
Determine next
set of
investments
based on
learnings
BACKLOG
REQUIREMENTS
DevOps Drivers
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
22
Value of DevOps
• DevOps bridges the traditional divide
allowing teams to produce high
quality releases at increasing cadence
• DevOps goals span the entire delivery
pipeline
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
23
Shorter Cycles & Higher Quality
• Faster time to market
• Lower failure rates
• Shortened lead time
• Faster MTTR4
• Mean Time To Realize, Recover, Repair,
Remediate
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
24
DevOps Benefits
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
25
History of DevOps
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
26
Agile Conference 2008
Patrick Debois and Andrew
Shafer discuss “Agile
Infrastructure”
Velocity 2009
John Allspaw and Paul
Hammond present “10
Deploys per Day: Dev and
Ops Cooperation at Flickr”
2010-
DevOpsDays spread globally
OSS Tools like Chef, Puppet,
Vagrant, LogStash, Jenkins etc.
gain popularity
October 2009
Patrick Debois starts
“DevOpsDays” in Ghent,
Belgium
March 2011
Cameron Haight of Gartner
predicts explosion of DevOps
in Global 2000 companies
7 DevOps Practices
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
27
Configuration
Management
Release
Management
Continuous
Integration
Continuous
Deployment
Infrastructure
as Code
Test
Automation
Application
Performance
Monitoring
7 DevOps Habits
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
28
Team Autonomy
and Enterprise
Alignment
Rigorous
Management of
Technical Debt
Focus on Flow of
Customer Value
Hypothesis Driven
Development
Evidence Gathered
in Production
Manage
Infrastructure as a
Flexible Resource
Live Site Culture
DevOps Metrics
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
29
DevOps and Agile
30
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
Revisiting the Agile Manifesto
We are uncovering better ways of developing software
by doing it and helping others do it. Through this work
we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive
documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
31
Agile Principles
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
32
We follow these principles:
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity--the art of maximizing the amount
of work not done--is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
Agile Principles
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
33
We follow these principles:
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity--the art of maximizing the amount
of work not done--is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
Agile Operations
• Source Control
• Small, frequent releases
• Automated testing
• Continuous Integration
• Continuous Deployment
• Peer Review
• Immutable Infrastructure
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
34
Benefits of Small Releases
• Lower risk
• Faster feedback
• More confidence
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
35
John Allspaw’s visualization of slow and fast delivery cycles
Version Control and
Automation
36
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
What is Version/Source Control?
• The management of changes to documents,
computer programs, large web sites, and
other collections of information.
• Supported by a tool
• Provides ways to see differences between
versions
• Allows parallel development through
merges and branches
• Foundational in software development, but
occasionally new to operations teams
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
37
What to Version Control?
• Source Code
• Environment definition
• Infrastructure configuration
• Deployment scripts
• Documentation
• EVERYTHING!
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
38
Automation enables
continuous value delivery
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
39
Benefits of Automation in DevOps
• Removes manual errors
• Enables anyone to perform tasks
• Enables speed, reliability and
consistency
• Empowers frequent releases and self-
service
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
40
What to Automate?
• Build and Deployment
• Environment creation
• Infrastructure configuration
• Unit, Integration, UI and Performance
Testing
• Documentation generation
• Monitoring and notifications
• EVERYTHING!
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
41
CI / CD
42
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
What is Continuous Integration (CI)?
• The practice of merging all developer working
copies to a shared code line several times a day,
and validating each integration with an
automated build.
• Unit tests are generally executed during the
build
• In practice, CI is often defined as having a build
with unit tests that executes at every commit /
check-in to version control
• This provides confidence in individual branches,
but not on the integration of all the code
changes
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
43
Continuous integration
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
44
Benefits of Continuous Integration
• Rapid feedback for code quality
• Trigger for automated testing for every
code change
• Code analysis and technical debt
management
• Reduces long, difficult and bug-inducing
merges
• Increases confidence in code long before
production
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
45
What is Continuous Delivery?
• A software engineering approach in which teams
produce software in short cycles, ensuring that
software can be reliably released at any time.
• Aims to build, test and release software faster
and more frequently
• Reduce the cost, time and risk of delivering
changes by allowing for more incremental
updates to production
• In practice, continuous delivery focuses on an
automated deployment pipeline
• This may have one or more manual approval
gates prior to reaching production
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
46
Continuous Delivery vs.
Continuous Deployment
• Continuous Deployment is generally defined as a
Continuous Delivery pipeline with no manual gates
between initial code commit / check-in and
production
• Feature flags are commonly used in both patterns,
however, they are often necessary for Continuous
Deployment
• Feature flags ensure that code deployed to a
production environment is not necessarily released
to all end users (Deployment Release)
• This allows for more mature features to be enabled
in production (generally via configuration), while
newer features can be switched off for most users
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
47
Continuous Delivery
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
48
Benefits of Continuous Delivery
• Encourages Infrastructure as Code
• Encourages Configuration as Code
• Enables automated testing throughout
the pipeline
• Provides visibility
• Provides fast feedback cycles
• Makes going to production a low stress
activity
• Increases confidence in code long before
production
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
49
What is a Build Pipeline?
• Automated system responsible for
Continuous Integration
• Builds code, runs unit tests, creates
packages, etc.
• Generally triggered by a code commit /
check-in, or on a schedule
• Note: The Build Pipeline and the
Deployment Pipeline can be considered two
different concepts, but in many systems the
same tool orchestrates both.
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
50
Defining a Build Pipeline
• Trigger
• Typically a commit / check-in to version
control
• Can include gated check-ins
• Tasks
• Compilation, minification, tokenization, etc.
• Unit Testing
• Code Analysis
• Versioning and Packaging
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
51
DevOps Tools
52
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
DevOps Tools
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
53
DevOps: Most Used Tools
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
54
Devops Tools Landscape
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
55
Infrastructure as Code
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
56
Infrastructure as Code
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
57
Ansible vs. Chef vs. Puppet
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
58
Ansible vs. Chef vs. Puppet vs.
SaltStack
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
59
Ansible vs. Chef vs. Puppet vs.
SaltStack
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
60
DevOps Real Example
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
61
DevOps Topologies
62
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
63
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
64
Any Questions?
Your time is limited, don’t waste it living someone else’s life
Steve Jobs, Stanford University speech, 2005
System
Analysis
and
Design,
Spring
2021,
Sharif
University
By
Vahid
Rahimian
65

More Related Content

What's hot

Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
UtpalenduChakrobortt1
 
Devops
DevopsDevops
Devops
Fernando Ike
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
Edureka!
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
Robert Sell
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
Simplilearn
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Ahmed Adel
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Hawkman Academy
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
Ganesh Samarthyam
 
Jenkins
JenkinsJenkins
Jenkins
Roger Xia
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
Ahmed Misbah
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
Mujahed Al-Tahle
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Ravindu Fernando
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
Lumban Sopian
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Edureka!
 
Solid Principle
Solid PrincipleSolid Principle
Solid Principle
Murali Pachiyappan
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0
Mohamed Taman
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Patrick McDonnell
 
DevOps
DevOpsDevOps
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?
Marc Hornbeek
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
E. Camden Fisher
 

What's hot (20)

Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
Devops
DevopsDevops
Devops
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Jenkins
JenkinsJenkins
Jenkins
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
 
Solid Principle
Solid PrincipleSolid Principle
Solid Principle
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
 
DevOps
DevOpsDevOps
DevOps
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 

Similar to Dev ops, from theory to practice, by vahid rahimian

Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approach
FrancisXavierInyanga
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017
Micro Focus
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
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 | 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 - Transforming the Traditional SDLC
DevOps - Transforming the Traditional SDLCDevOps - Transforming the Traditional SDLC
DevOps - Transforming the Traditional SDLC
Hughes Systique Corporation
 
DevOps 1 (1).pptx
DevOps 1 (1).pptxDevOps 1 (1).pptx
DevOps 1 (1).pptx
piyushkumar613397
 
GCP DevOps Training | GCP DevOps Online Training 16-10.pptx
GCP DevOps Training |  GCP DevOps Online Training 16-10.pptxGCP DevOps Training |  GCP DevOps Online Training 16-10.pptx
GCP DevOps Training | GCP DevOps Online Training 16-10.pptx
TalluriRenuka
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
eduxfactor .com
 
DevOps - Motivadores e Benefícios
DevOps - Motivadores e BenefíciosDevOps - Motivadores e Benefícios
DevOps - Motivadores e Benefícios
Flávio Secchieri Mariotti
 
Building a DevOps organization
Building a DevOps organizationBuilding a DevOps organization
Building a DevOps organization
Zinnov
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering Practices
CollabNet
 
DevOps Online Training
DevOps Online Training DevOps Online Training
DevOps Online Training
VijayVijji8
 
DevOps Online Training
DevOps Online TrainingDevOps Online Training
DevOps Online Training
VijayVijji8
 
Dev ops online training pdf
Dev ops online training pdfDev ops online training pdf
Dev ops online training pdf
SayyedYusufali
 
Devops training and placement in hyderabad
Devops training and placement in hyderabadDevops training and placement in hyderabad
Devops training and placement in hyderabad
VamsiNihal
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in Hyderabad
KumarNaik21
 
Devops training
Devops trainingDevops training
Devops training
Nithinsunil1
 
Dev0PS online Training in Hyderabad
Dev0PS  online Training  in HyderabadDev0PS  online Training  in Hyderabad
Dev0PS online Training in Hyderabad
VijayVijji8
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in Hyderabad
KumarNaik21
 

Similar to Dev ops, from theory to practice, by vahid rahimian (20)

Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approach
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
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 | 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 - Transforming the Traditional SDLC
DevOps - Transforming the Traditional SDLCDevOps - Transforming the Traditional SDLC
DevOps - Transforming the Traditional SDLC
 
DevOps 1 (1).pptx
DevOps 1 (1).pptxDevOps 1 (1).pptx
DevOps 1 (1).pptx
 
GCP DevOps Training | GCP DevOps Online Training 16-10.pptx
GCP DevOps Training |  GCP DevOps Online Training 16-10.pptxGCP DevOps Training |  GCP DevOps Online Training 16-10.pptx
GCP DevOps Training | GCP DevOps Online Training 16-10.pptx
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
 
DevOps - Motivadores e Benefícios
DevOps - Motivadores e BenefíciosDevOps - Motivadores e Benefícios
DevOps - Motivadores e Benefícios
 
Building a DevOps organization
Building a DevOps organizationBuilding a DevOps organization
Building a DevOps organization
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering Practices
 
DevOps Online Training
DevOps Online Training DevOps Online Training
DevOps Online Training
 
DevOps Online Training
DevOps Online TrainingDevOps Online Training
DevOps Online Training
 
Dev ops online training pdf
Dev ops online training pdfDev ops online training pdf
Dev ops online training pdf
 
Devops training and placement in hyderabad
Devops training and placement in hyderabadDevops training and placement in hyderabad
Devops training and placement in hyderabad
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in Hyderabad
 
Devops training
Devops trainingDevops training
Devops training
 
Dev0PS online Training in Hyderabad
Dev0PS  online Training  in HyderabadDev0PS  online Training  in Hyderabad
Dev0PS online Training in Hyderabad
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in Hyderabad
 

Recently uploaded

Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
michniczscribd
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
Computer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdfComputer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdf
chandangoswami40933
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
servicesNitor
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 

Recently uploaded (20)

Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
Computer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdfComputer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdf
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 

Dev ops, from theory to practice, by vahid rahimian

  • 1. System Analysisand Design DevOps Spring 2021 By: Vahid Rahimian System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 1
  • 2. Agenda •What is DevOps? •DevOps and Agile •Version Control and Automation •CI / CD •DevOps Tools •DevOps Topologies System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 2
  • 4. Why DevOps? • To reduce deployment lead time to minutes! • The business demands faster and continuous delivery. • Most organizations are not able to deploy production changes in minutes or hours, instead requiring weeks or months. • Opposing goals between Development and Operations: • Conflict between agile development (urgent projects) and stable operation (keep it running, don’t mess with the environment) System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 4
  • 5. Shared Devs and Ops Values • Value collaboration on all aspects of the system • Code and infrastructure/configuration • Solve issues early and quickly • Have a production-first mindset • Version control everything • Automate everything (esp. manually intensive tasks) • Create small, frequent deployments (of code and configuration) • Monitor, log and validate performance obsessively System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 5
  • 6. Typical problems between Dev and Ops Leads to a downward spiral: Everybody gets a little busier, work takes a little more time, communications become a little slower, and work queues get a little longer. Work requires more communication, coordination, and approvals. System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 6
  • 7. What is DevOps? • Tear down the wall between Development and Operations: • Continuous Delivery: Continuous Integration, Testing and Deployment System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 7
  • 8. What is DevOps? • Small teams independently implement their features, validate their correctness in production-like environments, and have their code deployed into production quickly, safely and securely.” System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 8
  • 9. What is DevOps? System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 9 “DevOps is development and operations collaboration” “DevOps is treating your infrastructure as code” “DevOps is using automation” “Kanban for Ops?” “DevOps is feature switches” “DevOps is small deployments”
  • 10. Definition of DevOps “DevOps is the union of people, processes and products to enable continuous delivery of value to end users.” Donovan Brown, Microsoft DevOps PM System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 10
  • 11. DevOps Consists of • Culture • Measurement • Automation • Collaboration System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 11
  • 12. Principles, Concepts, Practices and People System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 12
  • 13. DevOps Principles: Flow • Enable fast flow of work from Development to Operations to the customer • Make work visible using visual boards • Limit work in process (WIP) • Reduce batch sizes • Reduce the number of handovers • Continually identify and elevate constraints • Eliminate hardships and waste in the value stream System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 13
  • 14. DevOps Principles: Feedback • Enable fast and constant flow of feedback at all value stream stages • Establish fast feedback loops at every step of the process • Establish pervasive production telemetry ensuring that problems are detected and corrected as they occur • Keep pushing quality closer to the source • Enable optimizing for downstream work centers System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 14
  • 15. DevOps Principles: Continual Learning & Improvement • Enable a high-trust, experimenting and risk- taking culture as well as organizational learning, both from successes and failures • Enabling organizational learning • Institutionalize the improvement of daily work • Transform local discoveries into global improvements • Inject resilience patterns into daily work • Encourage leaders to reinforce a learning culture • Experiment, fail fast - If it hurts, do it more often System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 15
  • 16. A Note on Product • Strive towards delivering a minimum viable product (MVP), the smallest amount of functionality having value to the customer, as fast and reliably as it can. • MVP reflects the end-product in a minimal functional form. It is used to test new ideas and verify whether the hypothesis are correct. • MVP is that product which has just those features and no more that allows you to ship product that early adopters see and, at least some of whom resonate with, pay you money for, and start to give you feedback on System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 16
  • 19. DevOps – The Holistic View • Development • Requirements, version control, test case management, bug tracking, etc • Testing • Unit, integration, exploratory, load, automated UI, performance, etc • Deployment • Environment definition, provisioning and configuration • Application configuration and deployment • Approval workflows and automation • Monitoring • Application Performance Monitoring • Alerts and notifications System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 19
  • 20. What DevOps is NOT • It is not a product • It is not a specification • It is not centralized • It is not trademarked “You cannot buy DevOps and install it. DevOps is not just automation or infrastructure as code. DevOps is people following a process enabled by products to deliver value to our end users.” - Donovan Brown System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 20
  • 21. What’s driving DevOps? System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 21 The agile Methodologies are accelerating the construction process Current ITLM/ITSM “best practices” made the release and operate processes reliable, but not agile Disconnects between Development and Operations increase mistakes and MTTR when issues occur Determine next set of investments based on learnings BACKLOG REQUIREMENTS
  • 23. Value of DevOps • DevOps bridges the traditional divide allowing teams to produce high quality releases at increasing cadence • DevOps goals span the entire delivery pipeline System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 23
  • 24. Shorter Cycles & Higher Quality • Faster time to market • Lower failure rates • Shortened lead time • Faster MTTR4 • Mean Time To Realize, Recover, Repair, Remediate System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 24
  • 26. History of DevOps System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 26 Agile Conference 2008 Patrick Debois and Andrew Shafer discuss “Agile Infrastructure” Velocity 2009 John Allspaw and Paul Hammond present “10 Deploys per Day: Dev and Ops Cooperation at Flickr” 2010- DevOpsDays spread globally OSS Tools like Chef, Puppet, Vagrant, LogStash, Jenkins etc. gain popularity October 2009 Patrick Debois starts “DevOpsDays” in Ghent, Belgium March 2011 Cameron Haight of Gartner predicts explosion of DevOps in Global 2000 companies
  • 28. 7 DevOps Habits System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 28 Team Autonomy and Enterprise Alignment Rigorous Management of Technical Debt Focus on Flow of Customer Value Hypothesis Driven Development Evidence Gathered in Production Manage Infrastructure as a Flexible Resource Live Site Culture
  • 31. Revisiting the Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 31
  • 32. Agile Principles System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 32 We follow these principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • 33. Agile Principles System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 33 We follow these principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • 34. Agile Operations • Source Control • Small, frequent releases • Automated testing • Continuous Integration • Continuous Deployment • Peer Review • Immutable Infrastructure System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 34
  • 35. Benefits of Small Releases • Lower risk • Faster feedback • More confidence System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 35 John Allspaw’s visualization of slow and fast delivery cycles
  • 37. What is Version/Source Control? • The management of changes to documents, computer programs, large web sites, and other collections of information. • Supported by a tool • Provides ways to see differences between versions • Allows parallel development through merges and branches • Foundational in software development, but occasionally new to operations teams System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 37
  • 38. What to Version Control? • Source Code • Environment definition • Infrastructure configuration • Deployment scripts • Documentation • EVERYTHING! System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 38
  • 39. Automation enables continuous value delivery System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 39
  • 40. Benefits of Automation in DevOps • Removes manual errors • Enables anyone to perform tasks • Enables speed, reliability and consistency • Empowers frequent releases and self- service System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 40
  • 41. What to Automate? • Build and Deployment • Environment creation • Infrastructure configuration • Unit, Integration, UI and Performance Testing • Documentation generation • Monitoring and notifications • EVERYTHING! System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 41
  • 43. What is Continuous Integration (CI)? • The practice of merging all developer working copies to a shared code line several times a day, and validating each integration with an automated build. • Unit tests are generally executed during the build • In practice, CI is often defined as having a build with unit tests that executes at every commit / check-in to version control • This provides confidence in individual branches, but not on the integration of all the code changes System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 43
  • 45. Benefits of Continuous Integration • Rapid feedback for code quality • Trigger for automated testing for every code change • Code analysis and technical debt management • Reduces long, difficult and bug-inducing merges • Increases confidence in code long before production System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 45
  • 46. What is Continuous Delivery? • A software engineering approach in which teams produce software in short cycles, ensuring that software can be reliably released at any time. • Aims to build, test and release software faster and more frequently • Reduce the cost, time and risk of delivering changes by allowing for more incremental updates to production • In practice, continuous delivery focuses on an automated deployment pipeline • This may have one or more manual approval gates prior to reaching production System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 46
  • 47. Continuous Delivery vs. Continuous Deployment • Continuous Deployment is generally defined as a Continuous Delivery pipeline with no manual gates between initial code commit / check-in and production • Feature flags are commonly used in both patterns, however, they are often necessary for Continuous Deployment • Feature flags ensure that code deployed to a production environment is not necessarily released to all end users (Deployment Release) • This allows for more mature features to be enabled in production (generally via configuration), while newer features can be switched off for most users System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 47
  • 49. Benefits of Continuous Delivery • Encourages Infrastructure as Code • Encourages Configuration as Code • Enables automated testing throughout the pipeline • Provides visibility • Provides fast feedback cycles • Makes going to production a low stress activity • Increases confidence in code long before production System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 49
  • 50. What is a Build Pipeline? • Automated system responsible for Continuous Integration • Builds code, runs unit tests, creates packages, etc. • Generally triggered by a code commit / check-in, or on a schedule • Note: The Build Pipeline and the Deployment Pipeline can be considered two different concepts, but in many systems the same tool orchestrates both. System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 50
  • 51. Defining a Build Pipeline • Trigger • Typically a commit / check-in to version control • Can include gated check-ins • Tasks • Compilation, minification, tokenization, etc. • Unit Testing • Code Analysis • Versioning and Packaging System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 51
  • 54. DevOps: Most Used Tools System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 54
  • 58. Ansible vs. Chef vs. Puppet System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 58
  • 59. Ansible vs. Chef vs. Puppet vs. SaltStack System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 59
  • 60. Ansible vs. Chef vs. Puppet vs. SaltStack System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 60
  • 65. Any Questions? Your time is limited, don’t waste it living someone else’s life Steve Jobs, Stanford University speech, 2005 System Analysis and Design, Spring 2021, Sharif University By Vahid Rahimian 65