4. Agenda
1. What is DevOps?
2. Origin of DevOps
3. Collaboration in DevOps
4. Shift to DevOps
5. Microsoft and DevOps
6. Version Control
7. Git branching workflow
8. Automation
9. Continuous Integration
10. Continuous Testing
11. Continuous Delivery
12. Success Stories
5. What is DevOps?
“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”
6. “DevOps is the union of people, process, and
products to enable continuous delivery of value to
our end users.
- Donovan Brown, Microsoft DevOps PM
7. Origin of DevOps – Toyota Production System
In 1930, Toyota introduced a
new production method based
on the operative model “The
Toyota Way” called Lean
production.
This model is based of 14
principles and aim to provide
the tools for people to
continually improve their work.
8. Origins of DevOps - OODA Loop
Observe
Analysis
Simulation
Orient
Dashboards
Reports
Decide
Based on facts
Use all available information
Act
Changes
Reaction/Action
9. Origins of DevOps – Agile manifesto
Satisfy the customer through early and
continuous delivery of valuable software
2 Welcome changing requirements
3 Deliver working software frequently
4 Work together throughout the project
5 Build projects around motivated
individuals
6 Use face-to-face conversation
7 Measure progress through working
software
8
Agile processes promote sustainable
development
9
Continuous attention to technical
excellence and good design
10
Simplicity - the art of maximizing the
amount of work not done
11 Use self-organizing teams
12 Reflect on how to become more effective
1
11. The shift to DevOps
BEFORE DEVOPS
Focus on planning
Big releases
Long release cycle
Static hierarchies
Assumptions, not data
Estimating performance
Focus on productivity
AFTER DEVOPS
Focus on delivering
Small functional units of work
Fast time to market
Fluent and flexible teams
Experiment, learn and respond
Measuring performance
Stability and high-quality
12. The cost of Downtime
Average cost of 1 hour downtime = $301,000 and $400,000
(Statista 2019)
www.statista.com
13. Microsoft and DevOps
Azure Boards: Agile planning, work item tracking, visualization and reporting tool
Azure Pipelines: A language, platform and cloud agnostic CI/CD platform with support
for containers or Kubernetes
Azure Repos: Provides cloud-hosted private git repos
Azure Artifacts: Provides integrated package management with support for Maven, npm,
Python and NuGet package feeds from public or private sources
Azure Test Plans: Provides an integrated planned and exploratory testing solution
15. What is Azure Repos?
Code Management
Supports both distributed and centralized styles of version control.
Integration
Tightly integrated with the other Azure DevOps features
Pull requests
Review code and provide commers
Branch policies
Require code review and successful builds before merge.
17. Branch
Develop features or a branch
and create a pull request to get
changes reviewed.
Discuss
Discuss and approve code
changes related to the pull
request.
Merge
Merge the branch by approving
and completing the pull
request.
Collaborating with pull requests
22. Azure pipelines
Azure Pipelines is a cloud service that allow you to automatically build, test and deploy your
application to Azure or other Clous Service Providers.
1 Language-agnostic
2 Build on Windows, Linux, or macOS machines
3 Integrated with Azure deployments and GitHub
4 Work with open-source projects
23. The concept of pipelines
Pipelines enable to create a repeatable, reliable and constant flow of
changes into production via an automated software production line
Trigger Stage 1
Job 1
Stage 2
Task 1
Task 2
Agent 1
Job 2
Task 1
Agent 2
more…
Job 1
Task 1
Task 2
Agent 3
Invoke REST
API
Publish Build
Artifact
24. Self-hosted agents
The agent is installed on a machine that
maintained and upgraded by yourself.
Microsoft-hosted agents
Microsoft provide a new fresh virtual
machine every time your pipeline run.
Collaborating with pull requests
25. 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.
1 Continuous Integration (CI) is the process of automating the build and testing of code
2
CI encourages developers to share their code and unit tests by merging their changes into the
shared version control repository
3
When a change is detected, it triggers an automated build system. The code is built using a
build definition. Developers respond to any issues or bugs
4
CI keeps the master branch clean ensuring bugs are caught earlier in the development cycle,
which makes them less expensive to fix
28. What is Continuous Testing?
Process of executing
automated tests against a
code base and deployment
environment.
The goal of continuous
testing is to minimize
business risk and impact on
users.
31. Set of processes, tools and techniques for the rapid, reliable, and
continuous development and delivery of software.
Continuous Deployment is generally defined as a Continuous Delivery
pipeline with no manual gates between initial code commit / check-in
and production
Continuous Delivery and Continuous Deployment
34. Success Stories
• Fidelity Worldwide Investments reduced deployment times
from 3 days to 2 hours and saved $2 million in the first year alone
over manual deployments
• Amica Insurance reduced non-code related build failures from
20% to less than 1%, reduced web service deployment from
several days to 2 hours, and reduced dev setup wait time from 1.5
days to 25 minutes
• Silverpop, a SaaS digital marketing firm, reduced deployment
from 12-18 people for 8 hours executing 400 manual steps to 5
minute automated deploys with 0 down time.
35. DevOps at Netflix
3.2 Hours
The amount the average
US Netflix subscriber
is streaming per day
6.1 Billions Hours
How much time Netflix users
have spent streaming in the
last month of quarantine
9.6 GB Data
The amount of data
the average Netflix
subscription is using per day
527M TB Data
The amount of data
US Netflix subscriptions
have used in the last month