SlideShare a Scribd company logo
1 of 65
Download to read offline
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

About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple stepsIhor Odynets
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...SlideTeam
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesSlideTeam
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps JourneyDevOps.com
 
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 MeetupShweta Sadawarte
 
DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..Siddharth Joshi
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOpsSetu Parimi
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps IntroductionRobert Sell
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation JourneyDevOps Indonesia
 
DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...
DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...
DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...Simplilearn
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsMariano Cunietti
 

What's hot (20)

About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
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 architecture
Devops architectureDevops architecture
Devops architecture
 
DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
Devops: A History
Devops: A HistoryDevops: A History
Devops: A History
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
DevOps
DevOpsDevOps
DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...
DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...
DevOps Training | DevOps Training Video | DevOps Tools | DevOps Tutorial For ...
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
 
Devops
DevopsDevops
Devops
 

Similar to DevOps and Agile Spring 2021 Course Summary

Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachFrancisXavierInyanga
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017Micro Focus
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU 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 IndustryRahul 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 Hyderabadranjithvisualpath44
 
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.pptxTalluriRenuka
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppteduxfactor .com
 
Building a DevOps organization
Building a DevOps organizationBuilding a DevOps organization
Building a DevOps organizationZinnov
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesCollabNet
 
DevOps Online Training
DevOps Online Training DevOps Online Training
DevOps Online Training VijayVijji8
 
DevOps Online Training
DevOps Online TrainingDevOps Online Training
DevOps Online TrainingVijayVijji8
 
Dev ops online training pdf
Dev ops online training pdfDev ops online training pdf
Dev ops online training pdfSayyedYusufali
 
Devops training and placement in hyderabad
Devops training and placement in hyderabadDevops training and placement in hyderabad
Devops training and placement in hyderabadVamsiNihal
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in HyderabadKumarNaik21
 
Dev0PS online Training in Hyderabad
Dev0PS  online Training  in HyderabadDev0PS  online Training  in Hyderabad
Dev0PS online Training in HyderabadVijayVijji8
 

Similar to DevOps and Agile Spring 2021 Course Summary (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
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
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
 

Recently uploaded

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

DevOps and Agile Spring 2021 Course Summary

  • 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