Course Overview

Azure DevOps Services is Microsoft’s cloud-based, team focused services to help your entire organization plan smarter, collaborate better, and ship faster with a set of modern developer services. Azure DevOps is designed to be a one-stop solution to help you deliver value and build quality in for any app, written using any code, on any platform. You can build and deploy both to the cloud and on-premises for desktop, web, mobile, and more. You’ll learn about the services and how you can use them effectively together. However, Microsoft has made the service to be fully extensible and integrates with popular services and platforms so you’re never locked in.

In this 3-day, hands-on course, you will learn how you can apply good DevOps principles so you and your team can deliver value as fast as your customers need and expect.

Key Learning Areas

Attendees will acquire first-hand experience using Azure DevOps Services and the features that it offers.

You will learn:

  • How you, your team, and company should provision an organization in Azure DevOps
  • How to on-board developers and stakeholders
  • How you can use Azure Boards track and manage your teams work
  • How use Azure Repos for distributed version control of your teams assets using Git
  • How to use Azure Pipelines to create build pipelines to package up your applications
  • How to use Azure Pipelines to publish your applications and other items to the cloud or on-premises
  • How to increase quality with Azure Test Plans
  • How to create, host, and share packages with your team, and add artifacts to your pipelines with Azure Artifacts

Each course module consists of a lecture followed by a hands-on lab designed to reinforce the principles presented during lecture.

Course Outline

Day 1

A Day in the Life of a Developer

  • Level set of “what is DevOps”
  • Overview of Azure DevOps (aka VSTS)
  • Examine end-to-end workflow
  • Examine Organization and Team configuration

Azure Boards: Plan, Track, and Discuss Work Across Your Teams
Deliver value to your users faster using proven agile tools to plan, track, and discuss work across your teams.

  • What does every team member need to know?
  • Organizing and refining the Product Backlog
  • Tools in Azure Boards
  • Dependencies, Types, and Related Risks
  • Planning and executing a Sprint
  • Using Queries, Charts, and Dashboards for basic reporting
  • "Just enough project management" to support full DevOps traceability

Azure Repos: Using Git Effectively

Get unlimited, cloud-hosted private Git repos and collaborate to build better code with pull requests and advanced file management.

  • Centralized vs decentralized version control
  • Defining and managing repos
  • Don’t fear the command-line
  • Working with branches
  • Pull Requests
  • Using Code Search

Day 2

Azure Pipelines: Building Quality In
Build and test with continuous integration that works with any language, platform, and cloud.

  • Defining Quality Gates
  • Azure Pipelines for Builds
  • Understanding and Managing Agents
  • YAML Build Definitions
  • Testing with Build
  • Managing and Sharing Build Definition

Microsoft Azure DevOps
Azure Pipelines: Releasing to the World

  • Use continuous deployment to get any app deployed to any platform and cloud.
  • Understanding deployment models
  • Azure Pipelines for Releases
  • YAML Release Definitions
  • Service Connections
  • Stages and environments
  • Defining approval processes and quality gates
  • Deployment Groups and Targets
  • Managing and Sharing Release Definitions

Azure Test Plans: Exploratory and Manual Testing

  • Test Plans and Test Suites
  • Managing Test Cases
  • Running Manual Tests
  • Running Exploratory Tests

Day 3

Azure Artifacts: Sharing Code Effectively

  • Why and what of the service
  • Integrating with Azure Pipelines
  • Designing your repos to better support sharing
  • Updating your workflow to support collective ownership mindset
  • Branching strategies
  • Applying Open Source Software principles to internal development

Automated Testing

  • Building Integration Tests
  • Automated UI Testing with Selenium for Web Apps
  • Integrating Automated Tests with Builds and Releases

Feedback: User Acceptance Testing, Monitoring, and Analytics

  • Continuous Feedback
  • Involving Stakeholders
  • Running UAT Tests
  • Application Insights
  • Quality Tracking and Reporting
  • Azure DevOps Analytics

Who Benefits

This course is primarily designed for software developers who want to learn how to work with Azure DevOps Services to manage and build cloud-based applications. The hands-on labs involve mostly configuration with some light coding. Coding is done in C#. Non-developers including Scrum Masters,
Product owners, and more test focused engineers can attend and pair with developers as needed but will find most areas of the course valuable even if they don’t write code.

In order to work along with the labs, attendees must have the following:

  • A modern web browser like Microsoft Edge, Chrome, or Firefox. Internet Explorer is NOT supported.
  • An Azure subscription (Azure Pass, MSDN subscription, free trial, company subscription, etc.)
  • A Visual Studio 2017 compatible version of Windows
  • Any “edition” of Visual Studio 2017 (Community, Professional, or Enterprise) with the latest
    updates installed and the ASP.NET and Web Development, and Azure Development workloads installed
  • Local Administrative permissions to install additional tools such as the Git command-line tools, NuGet packages, and other tools that are required during the course of the labs

Prerequisites

Basic programming experience, preferably in C# with Visual Studio.