Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

19
Visual Studio Release Management: new Weltanschauung or natural evolution? Giulio Vian http://blog.casavian.eu/ [email protected] @giulio_vian http://www.getlatestversion.it

Transcript of Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Page 1: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Visual Studio Release Management:new Weltanschauung or natural

evolution?Giulio Vian

http://blog.casavian.eu/[email protected]@giulio_vianhttp://www.getlatestversion.it/

Page 2: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Who am I?• 25 years experience• 14 years• Currently

• Me? I’m just an OpsDev, you can tell it by the way I walk…

• Some works on GitHub• TfsAggregator2 • TfsGitAdmin• GitPushFilterPlugin

• since 2010• If I do not speak English (or sounds weird to you) stop me

Page 3: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Will talk about?• Visual Studio Release Management „vNext“• Available on VSTS• On premise with 2015 Update 2

• Questions to be answered• What is?• Costs• Advantages• Complexity• Idiosyncrasies

Said undelicately, in the cloud, we can release features that aren't finished yet.

Brian Harry

100/200-level session!

Page 4: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

What is Visual Studio Release Management “vNext”?

«DevOps solution for delivering your software easily and more frequently»

An automation technology very similar to Build v.Next designed to support deployment

New implementation WRT InRelease, 2013 o 2015

Tool to properly implement Continuous Delivery

Page 5: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

What is Visual Studio Release Management “vNext”?

«DevOps solution for delivering your software easily and more frequently»

An automation technology very similar to Build v.Next designed to support deployment

New implementation WRT InRelease, 2013 o 2015

Tool to properly implement Continuous Delivery

Page 6: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

My own definition• A tool to manage release of packages, built by internal or external

development teams, to QA and production environments, be they in house or external, helping coordinate with teams responsible for operation and monitoring QA and production environments

• Shortly, what happens after the build

Page 7: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Martin Fowler says…• You’re doing continuous delivery when:• Your software is deployable throughout its lifecycle• Your team prioritizes keeping the software deployable over working on new

features• Anybody can get fast, automated feedback on the production readiness of

their systems any time somebody makes a change to them• You can perform push-button deployments of any version of the software to

any environment on demand

Source: http://martinfowler.com/bliki/ContinuousDelivery.html

Page 8: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

DemoDevelopment using VSTS (cloud) and release on-premise

Page 9: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Availability and costs• Currently VSTS-only, but Update 2 is just around the corner• First hosted agent is ‘free’• Hosted Agent (i.e. runs on an Azure VM)• €33,73 / month• £24.44 / month

• Private Agent (on premise)• €12,65 / month• £9.16 / month

Page 10: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Advantages• Build ≠ Deploy• Approval flow• Say bye to XAML

Page 11: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Complexity• Limited task library• A good thing?

• Variables flow• Manage server farm• Global Objects• Service Endpoints

Page 12: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Idiosyncrasies (PITA in en-US)• Migrating from earlier versions• http://blogs.msdn.com/b/visualstudioalmrangers/archive/2015/12/09/releas

e-management-workflow-migrator.aspx

• No inheritance or sharing• Would be nice to share Credentials between Release Definitions

• Tasks are mostly designed for a single machine• But using Azure…• …or some Powershell trick…• …or Azure Stack some day

Page 13: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Chicken or egg? (bootstrapping)1. Install the agent• Do not need being an admin• Credentials specified in Release Definition• TFS / VSTS on sight view (HTTP/S)• Use a pre-canned VM image, DSC, Chef, … to install

2. Configure the machine• Pre-requisites, e.g. IIS, WebDeploy

3. Install your Application

Page 14: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Caveats• Approvers like cops• Agent Pools to insulate environment (e.g. production from dev)• An environment is not an environment• Security• Agent Pool Admin Account VSTS / TFS Instance• Agent Queue Administrators / Users Collection• Release Administrators Project

• Creating new Release is powerful• Limit accesses

Page 15: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Update 2 • No more sequential Environment• Skipping intermediate un-deployed Releases• Set Release time schedule while approving• Multiple approvers (and/or)• Auto “Release notes”• TFS on premise

• Source: http://blogs.msdn.com/b/visualstudioalm/archive/2016/01/08/vsts-release-management-plan-for-2016-h1.aspx

Page 16: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

New Weltanschauung o natural evolution?

Page 18: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Free Resources for DevOps Practices• Optimize your DevOps practices and tools:

• Get started on your DevOps journey: aka.ms/devops

• 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: aka.ms/devopsmva

• DevOps Maturity Self-Assessment• See where your organization is at across 7 areas:

http://devopsassessment.azurewebsites.net/

• Learn DevOps Practices hands-on with PartsUnlimited apps• github.com/Microsoft/PartsUnlimited and github.com/Microsoft/PartsUnlimitedMRP

Accelerate your application delivery lifecycle

Page 19: Visual Studio Release Management - New weltanschauung or natural evolution? @ Swansea SDC

Call to action