PRC05 | DevOps: An IT Professional’s Guide

Join David Tesar and I for a pre-conference seminar to learn about a variety of integrated solutions primarily from Microsoft, which can help you as an IT Professional enable an effective DevOps transformation within your organization's Application Lifecycle Management (Plan – Develop – Release - Operate) and establish a high-trust relationship between the Business, Development and Operations teams.

Note: If you want to skip the high-level picture and dig into the technical details scroll down to the section below the second picture.


Within the Enterprise, the IT Pro plays an important role in enabling the promise of continuous integration and continuous delivery, to ensure that changes to applications by software developers can be rapidly and efficiently deployed to end users. After the applications and infrastructure to support the apps are automatically deployed however, the job is not over!

Monitoring should be integrated to continuously improve the applications for our users based on real data gathered, along the way improving the release cycles for the Development teams. This sounds great, but the actual implementation details require that we evolve the way in which the Business, Developers and IT Professionals have historically worked together.

The Business, Developers & IT Professionals all need to:

  • Adopt agility while delivering with quality. These practices will extend throughout the full development lifecycle - from plan, through develop (including test), to release and operate in production
  • Scale to meet larger volume and variety of data, while sustaining application performance and reliability with integrated DevOps processes.

At the same time, learning’s needs to occur throughout the cycle, to continually refine and improve both the development process and the applications being delivered.



What can I expect to learn more specifically at a technical level during this PreConf day?

We walk through IT/Operations role within every Application Lifecycle Management phase and at each phase provide deeper coverage of on-premises-only solutions [Morgan] and cloud-only solutions [David]. Hybrid DevOps scenarios will be covered at a high-level via slides, but not in-depth due to the time limitation and complexity involved.

We will also cover some open-source technologies which integrate with the Microsoft solutions such as Puppet and Chef at a higher-level as they relate to each phase. Below you can read what you can expect to learn in each phase, with the bulleted items highlighting areas where you can expect a deeper understanding.

The flow of the day will start off with a shorter session on the early Planning phase, explaining how people, processes, and products all play a part (lots of P's eh? :) ) in DevOps and why the Operations team needs to be involved even at this stage of the lifecycle.

In the Develop phase we show how infrastructure as code is a crucial foundation and demonstrate intelligent ways to automatically create Dev/Test environments based on application code produced by developers:

  • Build automated Dev/Test environments on-premises - using System Center Virtual Machine Manager (SCVMM), Team Foundation Server (TFS), and Microsoft Test Manager (MTM).
  • Build automated Dev/Test environments in the cloud - using PowerShell to provision Windows Azure infrastructure
  • Load Testing - with Windows Azure and Visual Studio Online

With a solid "operationalized" foundation created in the development phase, a team is able to move into the Release phase, deploying the software quicker with a higher quality and are able to show a better return to the Business for their investments in the applications lifecycle.

  • Change request tracking options - with System Center Service Manager (SCSM) and Visual Studio Release Management
  • Enabling Continuous Integration and Continuous Deployment - using Windows Azure and Visual Studio Online Projects with Git Repositories
  • Moving from Dev/Test to Staging to Production environments - with Windows Azure and Visual Studio Online
  • Automatically de-provisioning environments - in Windows Azure using PowerShell and on-premises using System Center Orchestrator

In the Operate phase, you'll want to make sure you have a mechanism to discover all the running infrastructure, reduce the mean time to detect (MTTD) problems, as well as reduce the mean time to repair (MTTR) problems with the applications - passing valuable learning and information back into the planning and development lifecycle phases. Furthermore, if the infrastructure performance becomes a problem, you'll need to understand how to scale and last but not least, you'll need to understand a few things about security.

  • Detecting and fixing problems with System Center Operations Manager (SCOM) Application Performance Monitoring (APM) and TFS.
  • Performance Monitoring using Windows Azure, Application Insights, and Global Service Monitor
  • Ensuring consistent Windows Azure infrastructure configuration using PowerShell DSC
  • Troubleshooting and resolving problems with Windows Azure infrastructure
  • Scaling Windows Azure infrastructure using auto-scale, traffic manager, and the service gateway

What are the next steps I should take?

  • Register for the TechEd North America PreCon seminar here.
  • Have an active dialog with David Tesar, other attendees and myself about this PreCon on the Channel 9 forum.
  • Watch David and I present the shorter version of these concepts at the MVA jumpstart live event on DevOps for IT Pros on May 7th, 2014. Registration page coming soon!
  • Follow David or I on twitter for future announcements about the content we plan to present, some of which we can't even talk about yet!