the microsoft devops vision_clean.pptx
TRANSCRIPT
The Microsoft DevOps VisionDonovan Brown
Session Objective(s): Show how Microsoft’s tools address DevOps practicesWe will tour the products but not full E2E demos that is my other session
Microsoft is a key player in the DevOps spaceOur tools enable teams regardless of the technology they use or the platform they target
Session Objectives And Takeaways
It’s DevOps!
It’s DevOps!
It’s DevOps!It’s DevOps!
“DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.”Donovan Brown
http://bit.ly/WhatIs-DevOps
How we became agile and transformed a box software product into
a service…
The journey
TFS2008
TFS2010
TFS2012
TFS2013
TFS2005
TFS2015
TFSU1
TFSU2
TFSU3
TFSU4
TFSU5
Visual Studio
Our rolesProgram Manager – Responsible to ensure we’re building the right thing.
Engineer – Responsible to ensure we’re building products that are fast, reliable, and well engineered AND high quality and meets customers needs.
Our teamsProgram Management Engineering
Cross discipline10-12 peopleSelf managingAutonomous backlogIntact for 12-18 monthsPhysical team rooms
Teams
3 week sprints
3 weeks
3 week sprints
Week 1 Week 2 Week 3
Week 1 Week 2 Week 3Week 2 Week 3
Sprint 69Sprint 68 Sprint 70
Deployment
Sprint Planning Done!
What we accomplished
3 week sprints
Week 1 Week 2 Week 3
Week 1 Week 2 Week 3Week 2 Week 3
Sprint 86Sprint 85 Sprint 87
The sprint plan
Sprint mails
Plan Accomplished
Code Test & Stabilize Code Test & Stabilize
CodeComplete
Quality before
Quality before• Multi-year cycles• Milestones and stabilizations• Debt
Quality after
Bugs
Engineering scorecard
• Multi-year cycles → cloud cadence• Box → live site/DevOps• On-premises TFS → Visual Studio Team
Services• Dev and QA → engineer• Mostly functional tests → mostly unit• Accepting test failures → 100% reliability
and fast
Transform engineering
Deployment principlesNo down timeFully automatedJoint ownership between engineering and opsDecoupled services: clear contractsFeature flags
Feature flagsDecouples engineering and marketingControl exposureGranularControlled via PowerShellSupports early feedback, experimentationConferences, launches
Source control
Agile planningTest case
managementBuild automationContinuous deploymentRelease
managementLoad testing
Lab management
Our solutionVisual StudioTeam Services
Team Foundation
Server
Source control
Agile planningTest case
managementBuild automationContinuous deploymentRelease
managementLoad testing
Lab management
Our solution
Feedback managementTeam collaborationApplication
telemetry
Visual StudioTeam Services
Team Foundation
Server
Manage the full stack
Provision Environment Azure Resource Manager
Configure Environment Desired State Configuration
Tracking Work TFS / VSTS
Planning Work TFS / VSTS
Install Application NuGet, WebDeploy, etc
Configure Application Tokenization
Create Test Data BacPac with SSDT
Automated Tests Coded UI, Web, Load
Manual Tests Microsoft Test Manager
Notify Approvers Release Management
Notify Approvers Release ManagementPl
anIn
fraAp
pTe
stAp
prov
e
Performance Application Insights
Diagnostics Application Insights
Telemetry Application Insights
Mon
itor/
Lear
n
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
TFS
01
Deve
lop Developer Workstation
Team Collaboration
02
Build
& Te
st Build/CI
Test
Release Management for Visual Studio
Microsoft Test Manager
03
Depl
oy
Release Management for Visual Studio
Release
Automation Service
Azure Resource Management
PowerShell | WAML
xPlat Command Line
04
Mon
itor &
Le
arnMonitor
MicrosoftEcosystem
Application Insights
People | Process | Tools
Workstations - On-Premises | Hybrid | Cloud Monitoring - On-Premises | Hybrid | CloudALM Services - On-Premises | Hybrid | Cloud
DEV TEST QA
Environments - On-Premises | Hybrid | Cloud
TFS / VSTS
TFS / VSTS
TFS / VSTS
VSTS
01
Deve
lop Developer Workstation
Team Collaboration
02
Build
& Te
st Build/CI
Test
03
Depl
oy Configuration 04
Mon
itor &
Le
arnMonitor
This graphic shows OSS and partner products that are integrated with the Microsoft DevOps solution
MixedEcosystem
Release
People | Process | Tools
List of DevOps Practices• Infrastructure as Code (IaC)• Continuous Integration• Automated Testing• Continuous Deployment• Release Management• App Performance Monitoring• Load Testing & Auto-Scale
• Availability Monitoring• Capacity Management• Change/Configuration Management• Feature Flags• Automated Environment De-Provisioning• Self Service Environments• Automated Recovery (Rollback & Roll-
Forward)• Hypothesis Driven Development
• Testing in Production• Fault Injection• Usage Monitoring / User Telemetry
http://www.itproguy.com/devops-practices/
Plan1 Monitor +
Learn
Release
Develop + Test2
Development
Production
4
3
DevOps
It starts with an idea – and a plan how to turn this idea into reality …
Manage work
Develop + Test
1
PlanProject starts
PlanTrack progress
Kanban
Write Code
Unit Testing
2
Build
Version Control
Build Verification
Release
Once the iteration starts, developers turn great ideas into features …
Develop + Test
Source Build
Continuous Integration
Value• Accelerate Delivery• Repeatability • Optimized Resources
Measure• More frequent releases• MTTR• MTTD
cspkg
Test
DEV OPSOPS
Continuous Integration
CloudLoad
TestingIntegration testing
environment
Automated functional testing environment
3
Pre-production environment
Stagingenvironment
Monitor + Learn
When all tests pass, the build is deployed to testing environments for each stage in the release process
Release
SOURCE REPO DEV
Release Management
Value• Optimized Resources• Accelerate Delivery
Measure• Deployment Rate• MTTR• Availability
STAGE
PRODUCTIONDEV OPS
Continuous Deployment & Release Management
Learn and understand how users use your app, how it reacts and quickly fix issues and bugs
Monitor + Learn
4
Monitor
Feedback
Plan the next iteration
Monitor and LearnTesting in Production
PRODUCTION A PRODUCTION B
90% 10%
TelemetryPRODUCTIO
N
Fault Injection
X
X X
X