Monitor Define Deliver Operate Sprint Define Deliver Complex Error-prone Chaotic.

31
park the future. May 4 – 8, 2015 Chicago, IL

Transcript of Monitor Define Deliver Operate Sprint Define Deliver Complex Error-prone Chaotic.

Spark the future.

May 4 – 8, 2015Chicago, IL

Release Management for Your DevOps MindsetDonovan Brown

BRK2712

Donovan Brown Technology Specialist for Microsoft (DevTools) Blog at DonovanBrown.com Follow me on Twitter @DonovanBrown

Fun Stuff No. 12 World Ranked Professional Air Hockey player Competitive driver Developer for over 20 years

Who am I?

Session Objective(s): Show Advanced uses of Release Management Share Release Management best practices

Session Objectives And Takeaways

PRODUCT BACKLOG

RELEASE PIPELINE

Sprint Monitor

Define

Deliver

Operate

Sprint

Define

DeliverCUSTOMERSComplexError-proneChaotic

Automate!ReleaseManagement

The Stage Stack

InstallApplication

ProvisionEnvironment

Create Test Data

ConfigureApplication

ConfigureEnvironment

Manual Tests

Automated Tests

Notify Approvers

Approve Stage

Appro

val

Test

sA

pp

Infr

a

Manage the full stack

TFS Drop Location

RM DesktopRM Web

QA

DEV

RM Server

How it Works

Any action that can be performed from PowerShell or a CLI can be done during your release

PowerShell/CLI

http://bit.ly/CaptureCmdOutput | http://bit.ly/ReportErrorToRM

Tokenization Multiple Copies

Transform Files

Tokens

http://bit.ly/TokenizationDSC

Shadow Accounts Two-way Trusts Co-located Agents

Cross-Domain / Workgroup Mode

http://bit.ly/AzureWebSites

Release Management is highly secure Remove the Everyone group Supports

Active Directory Team Foundation Server Groups Release Management Groups

Supports Encryption

Security

http://bit.ly/AgentVsDSC

Some actions require human intervention Still recorded in deployment log Can trigger a rollback

Manual Intervention

SSDT Care must be taken with Deployment Slots Have rollback strategy

Database Changes

RMO Command Line REST API

Triggering Releases

http://bit.ly/TriggerFromMSBuild | http://bit.ly/1J5Btyv | http://bit.ly/1EeaBbu

Restore system after failed deployment Similar to Try, Catch, Finally

Rollbacks

http://bit.ly/RMRollback

Set the Build Quality as the release moves through the pipeline

Setting Build Quality

http://bit.ly/BuildQuality

Is set by default Can be controlled during release Can causes drop locations to fill up

Retain Indefinitely

http://bit.ly/1b5urhF

Azure PowerShell IaaS PaaS SaaS Resource Groups

Azure

http://bit.ly/AzureWebSites

Proxy Server

Azure PaaS

TFS Drop Location

RM DesktopRM Web

RM Server

PaaS Setup / Agent based

QA

DEV

Do not swap across environments Consider DB changes

Deployment Slots

http://tinyurl.com/RmPlusSlots 

External CMDBKey Features• Configuration as Code• Integration with TFS• Release Management

workflow• Centralized configuration

Team Build• Copy artifacts to drop location• Trigger Release

Check in artifacts in TFS• DSC Resources• PowerShell Scripts

RM for Visual Studio• Copy DSC Resources • Get Deploy Configurations • Initiate Deployment

Get Deploy Configurations - CMDB Rest API

CMDB• Master Configuration

65

423

1

Trigger Release -Invoke RM Rest API

What is DSC?

AssumedState

Start with an Assumption of targetEnvironment

Run a series of actions

DesiredState

End with desired state(hopefully)

Send a descriptionof the desired state

DSC capability reachesthe desired stateGet.Test.Set

“Make it so”

DSC Resources

TFS

Config as Code

SharedGallery

Desired State Configuration

Configuration InstallWebSite { Node $AllNodes.NodeName { WindowsFeature InstallIIS { Ensure = "Present" Name = "Web-Server" } }}InstallWebSite –ConfigurationData .\config.ps1

config.ps1

$ConfigData = @{ AllNodes = @( @{ NodeName = “localhost“ })}

http://powershell.org/wp/ebooks/

Agent based fully supported through 2015 Each have their Pros and Cons

Agent Bases vs v.Next

http://bit.ly/AgentVsDSC

Integration with Chef

https://www.chef.io

DONOVAN-IGNITE15

4 hours Free WintellectNOW Video Training

https://wintellectnow.com

Free Resources for DevOps Practices

Optimize your DevOps practices & tools: Get started on your DevOps journey: aka.ms/devops

Accelerate your application delivery lifecycle

Download the Forrester Infrastructure-as-Code whitepaper: Complexity kills. Automate with Infra as code: aka.ms/iac_tlpTechnical resources for Practitioners: Get access to free online training, evals and HOLs: aka.ms/devopsmvaJoin the Community conversations: Use #TalkDevOps on Twitter

FREE UPGRADE to Visual Studio Enterprise with MSDNLearn more about this offer: http://aka.ms/nbtbvs

Learn more about Visual Studio 2015 at our in-person or online events: http://aka.ms/nbtbevents

There’s no better time than now to get ready for the release of Visual Studio 2015!

For a limited time, get a free upgrade to Visual Studio Enterprise with MSDN

Visit Myignite at http://myignite.microsoft.com or download and use the Ignite Mobile App with the QR code above.

Please evaluate this sessionYour feedback is important to us!

© 2015 Microsoft Corporation. All rights reserved.