1
TOPIC
Azure DevOps
How Azure DevOps can boost your
organization's productivity
Thanks for collaboration
Who I am
@GTRekter
/GTRekter
/ivanporta
Ivan Porta
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
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”
“DevOps is the union of people, process, and
products to enable continuous delivery of value to
our end users.
- Donovan Brown, Microsoft DevOps PM
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.
Origins of DevOps - OODA Loop
Observe
Analysis
Simulation
Orient
Dashboards
Reports
Decide
Based on facts
Use all available information
Act
Changes
Reaction/Action
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
Collaboration and DevOps
Release
Requirements
Agile fixes this DevOps fixes this
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
The cost of Downtime
Average cost of 1 hour downtime = $301,000 and $400,000
(Statista 2019)
www.statista.com
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
Version Control and DevOps
Branching strategies and pull requests
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.
Time
Develop
Release
Feature
Hotfix
Tag 1.0 Tag 1.1
Tag 1.0.1
Master
GitFlow branching worflow
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
DEMO
Automation and DevOps
Continuous Integration, Testing and Deployment
“Automation is the creation and application of
technologies to produce and deliver goods and
services with minimal human intervention.
Automation enables continuous value delivery
Feedback
Feedback
Approval Approval
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
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
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
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
Continuous integration
Feedback
Feedback
Approval Approval
DEMO
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.
Continuous testing
Feedback
Feedback
Approval Approval
DEMO
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
Continuous Delivery and Continuous Deployment
Feedback
Feedback
Approval Approval
DEMO
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.
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
DevOps at Netflix – Automating failure
• Chaos Monkey
• Chaos Kong
• Chaos Gorilla
• Janitor Monkey
• Security Monkey
• 10-18 Monkey
• Latency Monkey
• Conformity Monkey
• Doctor Monkey
Thanks
Questions?
/GTRekter @GTRekter /ivanporta

How Azure DevOps can boost your organization's productivity

  • 1.
    1 TOPIC Azure DevOps How AzureDevOps can boost your organization's productivity
  • 2.
  • 3.
  • 4.
    Agenda 1. What isDevOps? 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? “DevOpsis 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 theunion 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
  • 10.
  • 11.
    The shift toDevOps 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 ofDowntime Average cost of 1 hour downtime = $301,000 and $400,000 (Statista 2019) www.statista.com
  • 13.
    Microsoft and DevOps AzureBoards: 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
  • 14.
    Version Control andDevOps Branching strategies and pull requests
  • 15.
    What is AzureRepos? 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.
  • 16.
    Time Develop Release Feature Hotfix Tag 1.0 Tag1.1 Tag 1.0.1 Master GitFlow branching worflow
  • 17.
    Branch Develop features ora 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
  • 18.
  • 19.
    Automation and DevOps ContinuousIntegration, Testing and Deployment
  • 20.
    “Automation is thecreation and application of technologies to produce and deliver goods and services with minimal human intervention.
  • 21.
    Automation enables continuousvalue delivery Feedback Feedback Approval Approval
  • 22.
    Azure pipelines Azure Pipelinesis 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 ofpipelines 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 agentis 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 ContinuousIntegration (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
  • 26.
  • 27.
  • 28.
    What is ContinuousTesting? 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.
  • 29.
  • 30.
  • 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
  • 32.
    Continuous Delivery andContinuous Deployment Feedback Feedback Approval Approval
  • 33.
  • 34.
    Success Stories • FidelityWorldwide 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.2Hours 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
  • 36.
    DevOps at Netflix– Automating failure • Chaos Monkey • Chaos Kong • Chaos Gorilla • Janitor Monkey • Security Monkey • 10-18 Monkey • Latency Monkey • Conformity Monkey • Doctor Monkey
  • 37.