Donovan Brown BRK2712 Donovan Brown Technology Specialist for Microsoft DevTools Blog at DonovanBrowncom Follow me on Twitter DonovanBrown Fun Stuff No 12 World Ranked Professional Air Hockey player ID: 619774
Download Presentation The PPT/PDF document "Release Management for Your DevOps Minds..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Release Management for Your DevOps Mindset
Donovan Brown
BRK2712Slide3
Donovan Brown
Technology Specialist for Microsoft (DevTools)
Blog at DonovanBrown.com
Follow me on Twitter @DonovanBrownFun StuffNo. 12 World Ranked Professional Air Hockey playerCompetitive driverDeveloper for over 20 years
Who am I?Slide4
Session Objective(s):
Show Advanced uses of Release
Management
Share Release Management best practicesSession Objectives And TakeawaysSlide5
PRODUCT BACKLOG
RELEASE PIPELINE
Sprint
Monitor
Define
Deliver
Operate
Sprint
Define
Deliver
CUSTOMERS
Complex
Error-prone
Chaotic
Automate!
Release
ManagementSlide6
The Stage Stack
Install
Application
Provision
Environment
Create Test Data
Configure
Application
Configure
Environment
Manual Tests
Automated Tests
Notify Approvers
Approve Stage
Approval
Tests
App
Infra
Manage the
full
stackSlide7
TFS
Drop Location
RM
Desktop
RM
Web
QA
DEV
RM
Server
How it WorksSlide8
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/ReportErrorToRMSlide9
Tokenization
Multiple Copies
Transform Files
Tokens
http://bit.ly/TokenizationDSCSlide10
Shadow Accounts
Two-way TrustsCo-located Agents
Cross-Domain / Workgroup Mode
http://bit.ly/AzureWebSitesSlide11
Release Management is highly secure
Remove the Everyone groupSupports
Active Directory
Team Foundation Server GroupsRelease Management GroupsSupports EncryptionSecurity
http://bit.ly/AgentVsDSCSlide12
Some actions require human intervention
Still recorded in deployment logCan trigger a rollback
Manual InterventionSlide13
SSDT
Care must be taken with Deployment SlotsHave rollback strategy
Database ChangesSlide14
RMO
Command LineREST API
Triggering Releases
http://bit.ly/TriggerFromMSBuild
| http://bit.ly/1J5Btyv |
http://bit.ly/1EeaBbuSlide15
Restore system after failed deployment
Similar to Try, Catch, Finally
Rollbacks
http://bit.ly/RMRollbackSlide16
Set the Build Quality as the release moves through the pipeline
Setting Build Quality
http://bit.ly/BuildQualitySlide17
Is set by default
Can be controlled during releaseCan causes drop locations to fill up
Retain Indefinitely
http://bit.ly/1b5urhFSlide18
Azure PowerShell
IaaSPaaSSaaS
Resource Groups
Azurehttp://bit.ly/AzureWebSitesSlide19
Proxy Server
Azure PaaS
TFS
Drop Location
RM
Desktop
RM
Web
RM
Server
PaaS Setup / Agent based
QA
DEVSlide20
Do not swap across environments
Consider DB changes
Deployment Slots
http://tinyurl.com/RmPlusSlots
Slide21
External CMDB
Key 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
M
aster Configuration
6
5
4
2
3
1
Trigger Release -Invoke
RM Rest APISlide22
What is DSC?
Assumed
State
Start with an
Assumption of target
Environment
Run a series of actions
Desired
State
End with desired state
(hopefully)
Send a description
o
f the desired state
DSC capability reaches
t
he desired state
Get.Test.Set
“Make it so”
DSC Resources
TFS
Config as Code
Shared
GallerySlide23
Desired State Configuration
Configuration InstallWebSite {
Node $
AllNodes.NodeName { WindowsFeature InstallIIS { Ensure = "Present" Name = "Web-Server"
} }}InstallWebSite –ConfigurationData .\
config.ps1Slide24
config.ps1
$ConfigData = @{
AllNodes = @(
@{ NodeName = “localhost“ })}
http://powershell.org/wp/ebooks/Slide25
Agent based fully supported through 2015
Each have their Pros and Cons
Agent Bases vs
v.Nexthttp://bit.ly/AgentVsDSCSlide26
Integration with Chef
https://
www.chef.ioSlide27
DONOVAN-IGNITE15
4 hours Free WintellectNOW Video Training
https://
wintellectnow.comSlide28
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_tlp
Technical resources for Practitioners:
Get access to free online training,
evals
and HOLs:
aka.ms/
devopsmva
Join the Community conversations:
Use
#
TalkDevOps
on TwitterSlide29
FREE UPGRADE
to Visual Studio Enterprise with MSDN
Learn 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 MSDNSlide30
Visit
Myignite
at
http://myignite.microsoft.com
or download and use the
Ignite
Mobile
App
with
the QR code above.
Please evaluate this session
Your feedback is important to us!Slide31