Azure DevOps 101

Short introduction

  • Formerly known as Team Foundation Server (TFS)
  • Then Visual Studio Teams Services (VSTS)
  • Covers all application lifecycle (ALM)
  • Provided and used by Microsoft

History

Important dates

Sources: wikipedia

Year Product Installation
2006 Visual Studio 2005 Team System On-Premises
2010 Team Foundation Server 2010 On-Premises
2013 Visual Studio Online Cloud
2015 Visual Studio Team Services Cloud
2018 Azure DevOps Services Cloud
2019 Azure DevOps Server 2019 On-Premises

General concerns

Application Lifecycle

  • Documentation
  • Project management
  • Source code versioning
  • Build automation
  • Deployment
  • Testing
  • Artifact management

Everyting is optional: take what you want!

Pricing (Cloud)

  • Free tier:
    • 5 developers
    • 1 build in parallel (180min/month)
  • Pay as you need (Azure subscription):
    • 6$/developer/month
    • 15$/build in parallel/month
  • Free for Visual Studio subscribers and stakeholders
  • Free with no limitation for open source projects
  • More details: azure.microsoft.com

Authentication & Security

  • Microsoft account: personal or work
  • Strong integration with Azure Active Directory
  • Audit trails
  • Azure compliance

Extensibility

Built-in tasks

Marketplace

Make your own extensions

(written in TypeScript)

Main features

Documentation as Code

  • Versioned in git repositories
  • Markdown format
  • Eased UX
    • Online editor
    • Preview
    • Copy/Paste
  • Add-ins (dynamic object linking)

Project management

  • Work Items: Epic, Feature, Bug, User Story, Task
  • Methodologies
    • Agile
    • Kanban
    • SCRUM
    • SAFe
  • Everything can be customized
    • Fields + UI
    • Workflow

Source code versioning

  • Git repositories
  • Pull Requests
    • Discussion thread
  • Branch policies
    • Build completion: CI pipeline
    • Quality gates: Sonar, code coverage

Build (pipelines)

  • Typologies
    • Continuous integration
    • Continuous delivery
    • Scheduling (automated testing)
  • Yaml definition

Release (pipelines)

  • Typologies
    • Continuous Deployment
  • Classic defintion (UI)
  • Enhanced UX for operation activity

Test (plans)

Artifact

  • Repository:
    • NuGet
    • NPM
    • Maven
    • pip
    • Universal
  • Private & public feeds

Administration

Organization

  • Organization = company or a subsidiary
  • Project = team or business segment
  • Team = people sharing same responsibilities
  • User licence = Visual Studio, Basic, Stakeholder

Agent pools

  • Microsoft hosted
    • Prefered solution
    • VM or Docker
  • Self-hosted
    • Mandatory to access private networks
    • Easy to install
  • Selection
    • Name
    • Capabilities

Service connection

  • Used to access an external service
    • Sonar
    • Docker
    • Azure
  • Prefer service account credentials

Configuration & Secrets

  • Variable Groups
    • Secret values
    • Variable inter-reference
  • Secret files
  • External vaults

Limitations

No local environment

  • Azure DevOps cannot run in a container
  • Strong dependency with Cloud availibility

Limited Cache

  • Package (NPM, NuGet) cache not yet working well

Differentiation

Active community

  • Excellent documentation
  • Important community (Stack Overflow)
  • Regular updates (Twitter, events)

Full text search

  • Documentation
  • Image (OCR)
  • Work items (Stories, Bugs, Epics, etc.)
  • Source code

Complete REST API

  • UI only covers part of the resources available

State of the Art pipelines

  • All market features are available
    • Parameters, variables
    • Smart execution conditions
    • Workflow
  • Online editor assitant
  • All OS and processor families
    • Linux, MacOS, Windows
    • x86, x64, ARM64

DevOps in action!

  • Regular deliveries
  • Seamless (transparent) system updates
  • Feature preview opt-in
  • User feedback
  • Monitoring metrics
  • Public roadmap

Azure DevOps 101

By Bertrand Thomas

Azure DevOps 101

Introduction to Azure DevOps, ALM tool provided by Microsoft

  • 303