Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Randy PagelsAzure Application Development Specialist
US Great Lakes Region
@AzureDevOps
https://azure.com/devops
Azure DevOps
#AzureDevOps
People. Process. Products.
What is DevOps?
DevOps is the union of people,
process, and products to
enable continuous delivery of
value to your end users.
“
”
Build&
Test
ContinuousDelivery
Deploy
Operate
Monitor &
Learn
Plan &
Track
Develop
Introducing Azure DevOps
Deliver value to your users faster
using proven agile tools to plan,
track, and discuss work across
your teams.
Build, test, and deploy with CI/CD that
works with any language, platform,
and cloud. Connect to GitHub or any
other Git provider and deploy
continuously.
Get unlimited, cloud-hosted
private Git repos and collaborate
to build better code with pull
requests and advanced file
management.
Test and ship with confidence
using manual and exploratory
testing tools.
Create, host, and share packages with
your team, and add artifacts to your
CI/CD pipelines with a single click.
Azure Boards Azure Repos Azure Pipelines
Azure Test Plans Azure Artifacts
https://azure.com/devops
➔
Before Azure DevOps
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Azure Networking
Microsoft Confidential
Microsoft Confidential
500GB+Source code
6000+Repos
Microsoft Confidential
16,000Employees
3,900Employees
19,000Employees
22,352Employees
14,000Employees
3,100Employees
11,985
7,305
Software Engineers in WDG that need to work together
Developers bringing in code to WDG repos
3,974,374 Commits in Fall Creator’s Update (RS3) development timeframe
497,903 Pull Requests for RS3
68,646 Official Lab builds for RS3
1,159 Machine years of build resources for RS3 Lab builds
4,201,457 Developer desktop RS3 builds
949 Machine years for test resources during RS3
3,188,972,675 Test cases executed during RS3
Multiple DailyWindows Defender signature updates
Store and Services updates
Weekly Windows Servicing updates
Daily - Biweekly Windows Store Apps updates
Monthly Xbox updates
Semiannually Windows feature updates
18-24mos Device releases
18
Agile Planning,
Work Items,
Burndown
Microsoft Confidential
11M Work Items
2.54MQueries &
Updates /day
350M Revisions
2Steam Engines
5.5Space Needles
ChicagoIllinois
HOW DO YOU GET 11,000 SOFTWARE ENGINEERS TO WORK
INDEPENDENTLY
AND TOGETHER?
Microsoft Confidential
See Far Operate Nimbly
Story
Customer
Promise
Scenario
Deliverable
Task
Defines the Product
we’re building
Describes the work
required to build it
Story
Customer
Promise
Scenario
Deliverable
Task
43 Stories
TAXONOMY BY THE NUMBERS, IN RS4
206 Customer Promises
3,342 Scenarios
38,864 Deliverables
143,408 Tasks
Dependencies
Finding the key
work that the
release and other
teams are
dependent on
The Big Picture
Seeing “The Big
Picture” in that
sea of data
Team Execution
Helping the
teams monitor
their work, their
stats, and
figuring out
where things go
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Microsoft Confidential
Git and
Version Control
Microsoft Confidential
7,300 Developers making code changes
11,000 Topic branches
367,000 Commits
33,000 Pull requests
9,700 Branch Integrations
10 commits per minute
1,100 pull requests per day
On Average, Each Month
Source Depot
Linux640MB
3k files
90MB pack file
292KB index file
Roslyn230MB
Git34MB
57k files
1.7GB pack file
5.5MB index file
12k files
219MB pack file
1.8MB index file
Azure
Compute500 MB
44k files
1.5GB pack file
7MB index file
150 users
VSTS(Azure DevOps)
3GB
Azure
Compute500 MB
44k files
1.5GB pack file
7MB index file
150 users
110k files
8GB pack file
16MB index file
300 users
VSTS3GB
Azure
Compute500 MB
44k files
1.5GB pack file
7MB index file
150 users
110k files
8GB pack file
16MB index file
300 users
3.5M files
86GB pack file
400MB index file
7,000 users
Windows360GB
Git on Windows repository
clone
checkout
status
commit
12 hrs
3 hrs
8 mins
30 mins
© Microsoft Corporation
Git + GVFS on Windows repository
clone
checkout
status
commit
5 mins
30 secs
8 secs
6 secs
12 hrs
3 hrs
8 mins
30 mins
win32src1.cpp
win32src2.cpp
win32src3.cpp
win32src4.cpp
win32src5.cpp
VFS DriverAzureRepos
win32src2.cppwin32src2.cpp
win32src1.cpp
win32src3.cpp
win32src4.cpp
win32src5.cpp
VFS DriverAzureRepos
win32src2.cppwin32src2.cpp
win32src1.cpp
win32src3.cpp
win32src4.cpp
win32src5.cpp
VFS DriverAzureRepos
win32src5.cppwin32src5.cpp
win32src2.cppwin32src2.cpp
win32src1.cpp
win32src3.cpp
win32src4.cpp
VFS DriverAzureRepos
NTFS Filesystem C:\
VFS for Git Filter Driver
Application
Microsoft Confidential
Git Onboarding Schedule & Productivity Impact (Git Pull Request/SDX Submit Measures)
Git Crossover – No Drop in Productivity
Build,
Deploy, and
Monitor
TOPIC TOPIC
MASTER
Developer Private Loop
TOPIC TOPICTOPIC
Microsoft Confidential
MASTER
INTEGRATION
Developer Private Loop
INTEGRATION
LEVELS BUILDS CHANGES DEVS
L0 1.2% 0.3% 0.7%
L1 12.3% 7.3% 8.2%
L2 35.3% 30.5% 36.5%
L3 47.2%
59.9%
52.3%
INTEGRATION INTEGRATION INTEGRATIONINTEGRATION
WORKING WORKING WORKINGWORKING
WORKING WORKING WORKINGWORKING
MASTER
INTEGRATION
Developer Private Loop
INTEGRATION
LEVELS BUILDS CHANGES DEVS
L0 1.2% 0.3% 0.7%
L1 12.3% 7.3% 8.2%
L2 35.3% 30.5% 36.5%
L3 47.2%
59.9%
52.3%
INTEGRATION INTEGRATION INTEGRATIONINTEGRATION
WORKING WORKING WORKINGWORKING
WORKING WORKING WORKINGWORKING
TOPIC TOPIC
MASTER
Developer Private Loop
TOPIC TOPICTOPIC
WORKING WORKING WORKINGWORKING
Microsoft Confidential
Prepped as
LKGBuild
Pre-Checkin Validation
WORKING
BRANCH
TOPIC BRANCH
Developer makes code
CHANGES IN TOPIC BRANCH
Latest changes
Synced and built in
ROLLING
BUILDS
Pre-Checkin
BUILD
Combined with scoped
CHANGES FROM DEV
Pre-Checkin
TEST
Successful
BUILD?
Successful
TEST?
Once Pre-Checkin Criteria are
met Developer can make a
PULL REQUEST
For 1 Day of Automated Lab Testing
Windows Insider
Program
Listening to our
customers
Launched for Windows 10
development cycle
Microsoft Confidential
Long History of Beta Programs
Complexity
Latency
(Fortunately in the real world these things tend to cluster, but it’s still a big set)
Microsoft Confidential
68
Windows Development in the Open
0 200 400 600 800 1000 1200 1400
Windows 7
Windows 8
Windows 8.1
Windows 10 (10240)
Windows 10 (10586)
Windows 10 (14393)
Windows 10 (15063)
Windows 10 (16299)
Windows 10 (RS4)
Windows 10 (RS5)
Delta Start-First Public Delta First Public Delta RTM GA
15 public previews
6 public previews
44 public previews
37 public previews
*3 public previews
* Not yet RTM
2 public previews
3 public previews
1 public preview
28 public previews
25 public previews
Every country in the world has Insiders, covering ~ 95% of hardware
components found on PCs
Insiders are worldwide
Microsoft Confidential
1.64Mquests
Completed since Oct 2016
Microsoft Confidential
438,000 Insider problem reports fixed
since Oct 2016
Microsoft Confidential
Areas Owners
Sharing Our Code Internally, In an Open Project
F e a t u r e s a v a i l a b l e n o w i n a n o p e n M i c r o s o f t p r o j e c t
Microsoft Confidential
Microsoft Confidentialhttp://Aka.ms/WiMigrator
Microsoft Confidentialhttp://Aka.ms/WorkItemOneClick
Microsoft Confidential http://Aka.ms/DependencyTracker
Dependency Tracker allows planning and tracking dependencies across multiple areas. It helps provide
visibility into the health of the dependencies and gives an overall status at a quick glance.
DEMO of Azure DevOps
Thank you!
@DonovanBrown