release management
TRANSCRIPT
Michael Koester | Microsoft
Removing Barriers betweenDevelopment and Operations
Enabling Continuous Value Delivery• Continuous Integration (CI)
• Continuous Deployment with Release Management
• DevOps: Integrating Operations and Development
Topics
Plan Develop Operate
BUILD | MEASURE | LEARN
BUILD | MEASURE | LEARN
Release
Build > Measure > Learn
EnablingContinuous Value Delivery
Delivery DelaysNon-Working CodeIncomplete SolutionsRework
Flexible Build > Deploy > Test WorkflowsQuality GatesDependancy ManagementTest Automation
Challenges
Features
Business AnalystsEnd UsersStakeholders
Continuous IntegrationA Working Product after every Check-In
Continuous IntegrationEarly and Often
Gated Check In
TFS Integration
Manage Builds
DEMOContinuous Integration with Windows Azure
40
%
Still release quarterly or less!
Source: Continuous Delivery Is Reshaping The Future Of ALM, Forrester Research, Inc., July 22, 2013
Continuous Delivery
Continuous Delivery is gaining traction ... but:
Why Release Management?
High Stress High RiskExpensivemulti-team Investment
Increase delivery cadenceIncrease predictability and consistency when deployingReduce complexity when deploying to hybrid environments
Release PlanningEnvironment ManagementRelease Automation
Challenges
Features
Business AnalystsEnd UsersStakeholders
Release ManagementDeploy the same code every time, everywhere, in the same way
What is Release Management?
Deploy the same code every time, everywhere, the same way.
What is Release Management?
Deploy the same code every time, everywhere, the same way.
Automated Tests
InstallApplication
ProvisionEnvironment
Create Test Data
ConfigureEnvironment
ConfigureApplication
Manual Tests
Notify Approvers
Approve Stage
Appro
val
Test
sA
pp
Infr
a
Microsoft Test Manager
Lab Manager
MS Tools
PowerShell
Custom Tools Release Management for Team Foundation
Server
Unit testing, Coded UI testing…
StageStack
Established single source of truth.
Automated deployment steps.
Dependencies defined and managed.
Release plan definition.
Release pipeline definition and environment management.
“one-click” highly automated releases.
Teams that need basic compliance and tracking. Teams with multiple releases without existing RM tools.Teams transitioning to a more agile delivery cadence.
Team Maturity
Who needs Release Management?
Features
Release PlanningWhat, when, where, who, how will be released and the ability to compare release plans vs. actual status.
Release DefinitionAuthoring of release pipeline and approval workflow.
Environment ManagementProvisioning, configuration, and teardown of physical and virtual environments.
Deployment Automation
Track status and progressRollbacks, logs, approvals and alerts.
Visual Studio Release Management Capabilities
Challenges
Features
Value
Difficult to monitor the status of each releaseToo many tools and inconsistent processes make it difficult to know the exact status of each release.
Visibility into the release pipelineGet insights into the complete release process across teams to identify issues and bottlenecks.
Increase value deliveryAccelerate delivery without introducing additional risk and chaos.
Release Visibility and Transparency
Release Visibilityand TransparencyView Release PipelineStatus and Issues
Monitor progress ofeach release
Check the status ofyour releases
Identify issues and patterns in your
application deployment
Challenges
Features
Value
Deploying applications in the same way - everywhereQuality issues due to inconsistent release processes, experience and outcomes.
Define release templates and automate manual tasksDefine a release plan for each component to ensure they will be deployed the same way, every time.
Increase quality, predictability and efficiencyMinimize outages and customer impact.
Inconsistent and chaotic releases
Define Release Plans and TemplatesDefine groups that can create, edit and view release templates
Define required approvals for each release stage
Define stage types for a given environment
Granular control for the entire release
process
Seamless integration with Visual Studio Build
process
Define Release Plans and TemplatesDefine a release workflow and its activities for each of your applications
Use built-in actions for deployment or create your own with PowerShell
Use built-in actions or define your own
Define release workflow and activities per environment
Flexible ReleaseApproval WorkflowSimple way to request and provide approvals.
The defined approval can start, stop, approve, reject, restart, retry, abandon or even reassign releases.
Simple way to request and provide
approvals
Trigger actions based on approvals
DEMOContinuous Delivery with Release Management
Release Management Infrastructure
1. Deploy Release Management
Server
2. Install Deployment Agents on
Targets
3. Configure Release Management
Server
4. Configure Release Paths &
Workflows
Create, Update and Delete Release Pipeline Workflow
Approve stages and sign-off on release
Deploy to Server
No CAL Required
Deployment Agent(Server Management License)
Release Management Client(Per User License)
Release Management Client available at no additional cost.
Each target node receiving deployment needs to be licensed through Visual Studio Deployment Standard or Visual Studio Deployment Datacenter offering.
CAL waiver for a user who just wants to approve a stage
TFS
Licensing Release Management
Production Outages Scaling IssuesUnknown Usage PatternsMemory IssuesProduction Bugs
IntelliTrace in ProductionIntelliTrace Performance IndicatorsMemory Dump AnalysisCloud Based Load Testing
Challenges
Features
DevelopersOperationsTesters
MonitorIntegrated and Accessible Analytics
System Center IntegrationIncident Alert
DevOps Collaboration
IntelliTrace
PreEmptive Analytics
IntelliTrace Performance IndicatorsPerformance Data
Event Details
Execution Tree
Jump to Code
Memory Dump AnalysisDebug Dump Files
Find Memory Leaks
Trace References
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.