Release Pipelines in Microsoft Ecosystems

Similar documents
Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

EVERYTHING AS CODE A Journey into IT Automation and Standardization. Raphaël Pinson

DevOps Using VSTS and Azure

Agile CI/CD with Jenkins and/at ZeroStack. Kiran Bondalapati CTO, Co-Founder & Jenkins Admin ZeroStack, Inc. (

Be smart. Think open source.

Course Overview This five-day course will provide participants with the key knowledge required to deploy and configure Microsoft Azure Stack.

DevOps Course Content

70-532: Developing Microsoft Azure Solutions

AALOK INSTITUTE. DevOps Training

How to Setup a Development Environment for ONAP

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

UP! TO DOCKER PAAS. Ming

70-532: Developing Microsoft Azure Solutions

20537A: Configuring and Operating a Hybrid Cloud with Microsoft Azure Stack

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

JetBrains TeamCity Comparison


Colin Bowern TAKING THE BEST-IN-CLASS ROAD FOR ALM TOOLING

Security as Code: The Time is Now. Dave Shackleford Founder, Voodoo Security Sr. Instructor, SANS

Web and API Apps in Azure

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Quick Start ArcGIS Enterprise with Automation. Shannon Kalisky Mark Carlson Nikhil Shampur Cherry Lin

IBM Cloud for VMware Solutions vrealize Automation 7.2 Chef Integration

How to be a Network Engineer in a Programmable Age An evolution that goes beyond Infrastructure as Code and Automation

BASIC CHEF FLUENCY BADGE TOPICS

FROM VSTS TO AZURE DEVOPS

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI /

Important DevOps Technologies (3+2+3days) for Deployment

SECURE DEVELOPMENT KEEPING YOUR SECRETS PRIVATE

Lifecycle management with Foreman and Katello Basics and Spacewalk migration

Jenkins User Conference Israel. #jenkinsconf. CI / Liveperson. Gidi Samuels. July 16, #jenkinsconf

.NET C# C++ JavaScript PHP Python Node.js R Cordova Unity Java Perl

DEVOPS TRAINING COURSE CONTENT

DevOps and Continuous Delivery USE CASE

Azure Highlights. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

Using vrealize Code Stream. 16 MAY 2017 vrealize Code Stream 2.3

Attacking Modern SaaS Companies. Sean Cassidy

Using vrealize Code Stream

DEVOPSIFYING NETWORK SECURITY. An AlgoSec Technical Whitepaper

Packer. Attribution-ShareAlike CC BY-SA 2015

Container Orchestration on Amazon Web Services. Arun

CLIs and Developers The Secret Sauce to a Brighter Mainframe. Chris Boehm Software Engineer CA Technologies

Deploying and Using ArcGIS Enterprise in the Cloud. Bill Major

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017

5 Things You Need for a True VMware Private Cloud

Using vrealize Code Stream. 12 APRIL 2018 vrealize Code Stream 2.4

DevOps Online Training

CloudCenter for Developers

Chapter 1 - Continuous Delivery and the Jenkins Pipeline

POWERSHELL + DEVOPS POWERSHELL WS-MAN DEVOPS TOOLMAKING GLOBAL SUMMIT 2016 LINUX WINDOWS CONFIGURATION KEY FACTS_ WINRM DSC ISE RUNBOOKS CLOUD

DevOps Technologies. for Deployment

G, H I, J K, L. Git distributed version control system, 67 repository, 67 TFS, 68 GitFlow, 76 77

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

This tutorial provides a basic understanding of the infrastructure and fundamental concepts of managing an infrastructure using Chef.

VMware vrealize Code Stream Reference Architecture. 16 MAY 2017 vrealize Code Stream 2.3

Cloud Computing. Amazon Web Services (AWS)

Think Small to Scale Big

CLOUD WORKLOAD SECURITY

Hitchhikers Guide to OpenStack Toolchains

Automating ArcGIS Deployments Using Chef

Application Deployment

MICROSOFT AND SAUCE LABS FOR MODERN SOFTWARE DELIVERY

The Road to Digital Transformation: Increase Agility Building and Managing Cloud Infrastructure. Albert Law Solution Architect Manager

Continuous Integration using Docker & Jenkins

Seven Habits of Highly Effective Jenkins Users

Configuring and Operating a Hybrid Cloud with Microsoft Azure Stack

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

DevOps on AWS Deep Dive on Continuous Delivery and the AWS Developer Tools

VMware vrealize Code Stream Reference Architecture. 12 APRIL 2018 vrealize Code Stream 2.4

Continuous Delivery for Cloud Native Applications

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY

Cloud Operations Using Microsoft Azure. Nikhil Shampur

Immutable Servers. Building a deployment pipeline and deploying to EC2 Spot

Cisco CloudCenter Use Case Summary

Architect your deployment using Chef

Unlocking Azure with Puppet Enterprise. November 29, 2016

Best Practice Deployment of F5 App Services in Private Clouds. Henry Tam, Senior Product Marketing Manager John Gruber, Sr. PM Solutions Architect

Deep Dive on AWS CodeStar

Voltron of Devops DrupalCI PNWDS. Mixologic + Mile23 Tell you what s what About DrupalCI.

Roles. Ecosystem Flow of Information between Roles Accountability

Using DC/OS for Continuous Delivery

vrealize Automation, Orchestration and Extensibility

How to be a Network Engineer in a Programmable Age Cisco DevNet Webinar Series

Automated Windows OS Image Creation

Put Security Into Your DevOps NOW. Or Prepare for the Flood Matthew Fisher Solution Architect, Fortify Federal 08MAR2018

Knative: Building serverless platforms on top of Kubernetes

Openshift: Key to modern DevOps

ITIL isn t evil Most people who implement it are

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Building a Data-Friendly Platform for a Data- Driven Future

Strengthen and Scale security using DevSecOps

A Cloud-based Architecture for Processing 3D Mars Terrain

EPHEMERAL DEVOPS: ADVENTURES IN MANAGING SHORT-LIVED SYSTEMS

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

CREATING A CLOUD STRONGHOLD: Strategies and Methods to Manage and Secure Your Cloud

Aspirin as a Service: Using the Cloud to Cure Security Headaches

Week Assignment Source Code Control (SCC) & Bug Tracking Systems Hans-Petter Halvorsen

Developing Microsoft Azure Solutions (70-532) Syllabus

Transcription:

Release Pipelines in Microsoft Ecosystems Warren Frame, Harvard University Michael Greene, Microsoft December 4 9, 2016 Boston, MA www.usenix.org/lisa16 #lisa16

whoami Warren Frame Research Computing at Harvard University @pscookiemonster Ramblingcookiemonster wframe Michael Greene Enterprise Cloud Engineering CAT Team at Microsoft @migreene mgreenegit migreene bit.ly/lisa16pipeline

Stuff Slides Demos! Slides at bit.ly/lisa16pipeline Cleanup,

Configuration as Code Everything-as-a-service, APIs galore Living documentation Abstract out complexity. Scripts -> Modules -> DSC -> key:value PowerShell DSC is a platform that all solutions can use to deploy and manage Windows Server Azure Resource Manager templates You still need to know the underlying systems you will manage Release pipelines can bring sanity and consistency to managing this

Release Pipeline Why? aka.ms/trpm

Release Pipelines Prod environment (etc.) Systems / Services Modules Scripts Config files

Example Workflow Make a change, push to source control* Build system does the rest. For example: Run tests against your code Spin up test services/infrastructure for more tests Build artifacts (packages, configs, etc.) Deploy things (artifacts, systems, services, etc.) * You might run through source-build-test loops locally until happy, before pushing

Tooling a bunch of random open source projects bound together with duct tape and chewing gum

Tools: Source Git? Mercurial? SVN? CLI: Git for Windows PoshGit GUI: GitHub Desktop Atlassian SourceTree Many others

Demo: Source Git Visual Studio Code

Tools: Build Systems Jenkins, GitLab CI, VSTS, etc. Prefer build-as-code e.g. Jenkinsfile, appveyor.yml,.gitlab-ci.yml

Tools: Build Automation Invoke-Build, psake Similar to rake, make, bake, cake, grunt, gulp, msbuild, etc.

Demo: Build TFS 2017 psake (build automation) github.com/powershell/demo_ci

Tools: Testing Pester: Test framework poshspec: infrastructure testing OVF: Operation-Validation-Framework - simplify organizing, execution, and sharing of tests.

Demo: Test Pester poshspec

Tools: Release Octopus Deploy and VSTS Many pre-canned tasks Flexible Pretty Potentially $$ PSDeploy Some pre-canned tasks Deployment as code Poorly written Open source Random PowerShell code Fun to read and maintain!

TFS 2017 - Release management Demo: Release

Tools: Test Harness Test-Kitchen Not just for Chef Roughly: Run tests with a verifier (Pester) against platforms (different vagrant boxes) converged with a provisioner (dsc) with the lifecycle managed by a driver (vagrant) And test, configuration, other files copied to platforms via a transport (WinRM) Drivers Amazon EC2 Azure Resource Manager DigitalOcean Docker Google Compute Engine Hyper-V OpenStack Vagrant vrealize Automation, Orchestrator vsphere Provisioners Ansible CFEngine Chef Solo, Zero DSC Puppet Salt Shell Verifiers Inspec Pester Shell (Bats, Serverspec, etc.)

Example Pipeline Source: GitHub Build: AppVeyor Build dependencies: Build automation: Build helpers: PSDepend Invoke-Build BuildHelpers Test: Pester Release: PSDeploy

Demo: Example Pipeline https://github.com/ramblingcookiemonster/lisa-kitchen-demo

Secrets What about In source control Built into build system? Secret management vault, passwordstate, Secret Server, credstash, etc. Images Packer! Images-as-code Build images for Amazon, VirtualBox, Azure, Hyper-V(ish), etc.

Where to start Source Control and/or Tests over entire pipeline at once Existing tools over resume-driven-development New service(s) / value proposition over re-engineering everything No luck in house? Play with GitHub+AppVeyor, VSTS, etc.

Next steps Open source projects could use your help! JIT provisioning or a dynamic pools of Windows build agents Windows Docker containers for testing Focus on ephemeral deployments over incremental changes Plan for day 100

Community Projects Plaster Invoke-Build, psake Lability Pester OVF poshspec Map your requirements PowerShell Slack PSDeploy

References, Diving Deeper The Release Pipeline Model - Michael Greene, Steven Murawski Building a Simple Release Pipeline in PowerShell Using psake, Pester, and PSDeploy - Brandon Olin Stack Overflow: How We Do Deployment - 2016 Edition - Nick Craver DevOps Reading List - Steven Murawski Reading List - Chris Hunt The Pester Pipeline - Chris Hunt Best Practices with Packer and Windows - Matt Hodgkins Introduction to Kitchen-DSC - Gael Colas Testing Ansible Roles Against Windows with Test-Kitchen - Matt Hodgkins Twitter, Slack, and other communities Etc.