DevOps Using Visual Studio ALM 2015 (ALMDO15)

Request a Quote for this class

About this Course

This 3-day course aims to help you achieve some of the key goals of DevOps namely reducing friction, increasing velocity and increasing value to your customers. The course starts by introducing DevOps and the Visual Studio 2015 product family. We’ll look at how you can reduce lead time using the Agile planning tools in Visual Studio with still aligning with Enterprise goals.

Next we’ll look at how a number of features in Visual Studio 2015 including Code Clone Analysis, CodeLens and Code Maps can help you reduce technical debt and thereby help increase team productivity.

The course then looks closely at Continuous Integration (CI) using the new Team Build system introduced in the 2015 release. You’ll learn how to install and configure the Build infrastructure, create new Build Definitions as well as how you can customise your build workflows and create custom Build Tasks.

Following on from CI, we focus on Continuous Delivery (CD) and how we can automate the deployment of our applications to different servers in a reliable and repeatable manner. As part of this we look at Continuous Testing (CT) including the remote execution of automated tests including UI testing once we deploy our application.

The course then looks at the benefits of PowerShell and the use of Desired State Configuration (DSC) to configure the machines where you’ll deploy your application components. The final modules of the course look at Release Management for Visual Studio and Application Insights.

This course includes hands-on labs to reinforce practical skills and ensure you’re ready to use the tools on your return to your workplace.

Audience Profile

This course is designed for .NET developers, TFS Administrators and Build masters. It is a hands-on look at various technologies rather than a high-level management overview.

At Course Completion

At the completion of this course, attendees will be able to:

  • describe the full feature-set of Microsoft’s Application Lifecycle Management suite
  • use the Agile Planning tools to maintain a prioritised flow of work to the team
  • identify the problems caused by technical debt
  • use some common features in Visual Studio to help reduce Technical Debt
  • configure a build environment based on the new build system introduced in the 2015 release
  • create a new build definition and configure Continuous Integration
  • custom build templates and create a custom build task
  • update the build definition to deploy an application to remote servers
  • automate the execution of tests on the newly deployed application
  • use PowerShell to create simple scripts to aid in the deployment and configuration of applications
  • use Desired State Configuration (DSC) to manage server configuration
  • create environments and release templates using Release Management
  • configure Application Insights to provide rich information about the availability, usage and performance of your application

Prerequisites

Attendees should be familiar with Visual Studio and the basic use of Team Foundation Server or Visual Studio Online.

Course Outline

Module 1 - Introducing DevOps and the Microsoft Visual Studio 2015 family

  • What is DevOps and why it is important?
  • DevOps goals
  • Overview of the Visual Studio 2015 family
  • Overview of product features

Module 2 - Agile planning

  • Overview of Agile planning tools
  • Shortening lead time
  • Managing a prioritised flow of work to the team
  • Enabling agility in your teams

Module 3 - Focus on Technical Debt

  • Unit testing and code coverage
  • Identifying code clones
  • Using CodeLens
  • Understanding your application using Codemaps

Module 4 - Overview of Build automation

  • Understanding the new 2015 Build infrastructure
  • Create Agent pools and installing Build Agents
  • How to scale your build infrastructure
  • Overview of non-Windows Build Agents

Module 5 - Configuring Build automation

  • Creating new build definitions
  • Running tests as part of your build
  • Creating templates from your builds

Module 6 - Build customisation

  • A lap around the available build tasks
  • Extending builds using scripts
  • Creating your own custom build task

Module 7 - Deploying to a Test Environment

  • Packaging your application
  • Using Build Tasks to deploy your application components

Module 8 - Automating Test Execution

  • Configuring your servers for remote test execution
  • Executing UI tests on your remote machines
  • Analysing test results

Module 9 - Introduction to PowerShell

  • What is PowerShell?
  • How can PowerShell help in DevOps?
  • Writing a PowerShell script
  • Using the PowerShell ISE

Module 10 - PowerShell Desired State Configuration (DSC)

  • Introduction to Desired State Configuration
  • Understanding WinRM, DSC resources and the local configuration manager (LCM)
  • Installing the DSC resource kit
  • Using DSC to prepare your servers

Module 11 - Overview of Release Management

  • Release Management for Visual Studio 2015
  • Creating environments and releases
  • Configuring approval workflows

Module 12 - Continuous learning

  • The importance of application analytics
  • Enabling Application Insights in your applications
  • Monitoring your application availability
  • Examining usage to make better decisions
  • Troubleshooting made easy