Release Pipelines in Microsoft Ecosystems

Wednesday, December 7, 2016 - 4:00pm5:30pm

Warren Frame, Harvard University, and Michael Green, Microsoft

Abstract: 

A 90 minute walk through exposing CI/CD release pipelines in Microsoft-oriented ecosystems.

The session will cover:

  • Why the pipeline is important, even in a shop that isn't practicing DevOps or rolling infrastructure-as-code.
  • Each component in the pipeline: source control, build, test, and release, along with some of the benefits, goals, and common tools for each.
  • Practical, hands on examples of each component in the pipeline, on a hosted service (e.g. GitHub / AppVeyor). With a backup plan in case things like the network or GitHub aren't happy.
  • At the end, we'll demo the pipeline as a whole, from managing simple config / script files, to defining, spinning up, and testing infrastructure changes.
  • We'll use common tools in this session, but will highlight that these can be swapped out with a variety of alternatives. We'll use GitHub (source), psake (build), Pester (test), PSDeploy (release), Test-Kitchen (infrastructure test harness) and AppVeyor (build system), mentioning that the audience could swap out AppVeyor for Jenkins or TeamCity, for example, or perhaps run the entire pipeline in GitLab CE, with GitLab CI running the built/test/release phases.

Who should attend:
Attendees interested in:

  • Improving their workflow in a Microsoft ecosystem, whether they work with scripts and config files, infrastructure-as-code, or business critical software
  • Improving their security posture, reducing recovery times, simplifying change management, and making life easier
  • A hands on, practical demonstration of a release pipeline that could be used for open source projects, PowerShell, DSC, and other code or configurations you write
  • Hands on experience with source control (GitHub), build (psake), testing (Pester), release (PSDeploy), and a build system to tie this all together (AppVeyor)

Take back to work:

  • Practical experience with common tools used in Microsoft-oriented release pipelines: Git, GitHub, Pester, and AppVeyor
  • Knowledge of the release pipeline concepts that you could use to design your own pipeline, regardless of the underlying tools
  • References and working examples to borrow and tweak

Topics include:

  • Release pipelines
  • Source control
  • Testing
  • Continuous Integration
  • Continuous Delivery and Deployment
  • PowerShell

Warren Frame, Harvard University

Warren Frame is an Infrastructure Engineer in Research Computing at Harvard University, Faculty of Arts and Sciences. He spends his days finding ways to minimize tedious and error prone work, writing incoherent commit messages, and occasionally, doing his job. He enjoys learning and sharing what he learns, often paired up with some poorly written PowerShell.

Michael Greene, Microsoft

Michael Greene is a Principal Program Manager at Microsoft in the Enterprise Cloud Group division. Michael is the PowerShell and DevOps lead for the CAT team (Customers, Architecture, and Technology). He drives customer feedback in the areas of management and automation, creates content to improve the customer experience, and provides a connection to engineering for projects that are adopting new products and technologies. Previously he worked in Office 365 operations where he gained experience using PowerShell to manage environments at cloud scale.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@conference {201464,
author = {Warren Frame and Michael Greene},
title = {Release Pipelines in Microsoft Ecosystems},
year = {2016},
address = {Boston, MA},
publisher = {{USENIX} Association},
month = dec,
}