How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Randy Pagels Azure Application Development Specialist US Great Lakes Region Azure DevOps
@AzureDevOps
https://azure.com/devops
#AzureDevOps What is DevOps? People. Process. Products.
Build Deploy & Test “ DevOps is the union of people, process, and products to Develop Continuous Operate enable continuous delivery of Delivery value to your end users.”
Plan Monitor & & Track Learn Introducing Azure DevOps
Azure Boards Azure Repos Azure Pipelines Deliver value to your users faster Get unlimited, cloud-hosted Build, test, and deploy with CI/CD that using proven agile tools to plan, private Git repos and collaborate works with any language, platform, track, and discuss work across to build better code with pull and cloud. Connect to GitHub or any your teams. requests and advanced file other Git provider and deploy management. continuously.
Azure Test Plans Azure Artifacts Test and ship with confidence Create, host, and share packages with ➔ using manual and exploratory your team, and add artifacts to your testing tools. CI/CD pipelines with a single click. https://azure.com/devops Before Azure DevOps Microsoft Confidential
Microsoft Confidential
Microsoft Confidential Azure Networking Microsoft Confidential
500GB+ 6000+ Source code Repos
Microsoft Confidential 14,000 22,352 19,000 Employees Employees Employees
16,000 3,100 3,900 Employees Employees Employees
Microsoft Confidential 11,985 Software Engineers in WDG that need to work together 7,305 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 Daily Windows 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 11M 5.5 Work Items Space Needles
350M 2 Revisions Steam Engines
2.54M Chicago Queries & Illinois MicrosoftUpdates Confidential /day HOW DO YOU GET 11,000 SOFTWARE ENGINEERS TO WORK INDEPENDENTLY AND TOGETHER? See Far Operate Nimbly
Microsoft Confidential Story
Customer Defines the Product Promise we’re building
Scenario
Deliverable Describes the work required to build it Task TAXONOMY BY THE NUMBERS, IN RS4
Story 43 Stories
Customer Promise 206 Customer Promises
Scenario 3,342 Scenarios
Deliverable 38,864 Deliverables
Task 143,408 Tasks The Big Picture Dependencies Team Execution
Seeing “The Big Finding the key Helping the Picture” in that work that the teams monitor sea of data release and other their work, their teams are stats, and dependent on 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 On Average, Each Month
7,300 Developers making code changes 11,000 Topic branches 367,000 10Commits commits per minute 33,000 1,100Pull requests pull requests per day 9,700 Branch Integrations
Microsoft Confidential Source Depot Git Roslyn Linux 34MB 230MB 640MB
3k files 12k files 57k files 90MB pack file 219MB pack file 1.7GB pack file 292KB index file 1.8MB index file 5.5MB index file Azure Compute 500 MB
44k files 1.5GB pack file 7MB index file 150 users Azure VSTS Compute (Azure DevOps) 500 MB 3GB
44k files 110k files 1.5GB pack file 8GB pack file 7MB index file 16MB index file 150 users 300 users Windows 360GB
Azure Compute VSTS 500 MB 3GB
44k files 110k files 3.5M files 1.5GB pack file 8GB pack file 86GB pack file 7MB index file 16MB index file 400MB index file 150 users 300 users 7,000 users Git on Windows repository
12 hrs clone
3 hrs checkout
8 mins status
30 mins commit © Microsoft Corporation Git + GVFS on Windows repository
12 hrs 5 mins clone
3 hrs 30 secs checkout
8 mins 8 secs status
30 mins 6 secs commit win32src1.cpp win32src2.cpp
Azure win32src3.cpp VFS Driver Repos win32src4.cpp win32src5.cpp win32src1.cpp win32src2.cpp
Azure win32src3.cpp VFS Driver Repos win32src4.cpp win32src5.cpp win32src1.cpp win32src2.cpp
Azure win32src3.cpp VFS Driver Repos win32src4.cpp win32src5.cpp win32src1.cpp win32src2.cpp
Azure win32src3.cpp VFS Driver Repos win32src4.cpp win32src5.cppwin32src5.cpp Application
VFS for Git Filter Driver
NTFS Filesystem C:\ Git Crossover – No Drop in Productivity
Git Onboarding Schedule & Productivity Impact (Git Pull Request/SDX Submit Measures)
Microsoft Confidential Build, Deploy, and Monitor MASTER
TOPIC TOPIC TOPIC TOPIC TOPIC
Developer Private Loop Microsoft Confidential 55
china.org.cn LEVELS BUILDS CHANGES DEVS
MASTER L0 1.2% 0.3% 0.7%
L1 12.3% 7.3% 8.2% INTEGRATION INTEGRATION
INTEGRATION INTEGRATION INTEGRATION INTEGRATION L2 35.3% 30.5% 36.5%
WORKING WORKING WORKING WORKING WORKING WORKING WORKING WORKING L3 47.2 59.9 52.3 % % %
Developer Private Loop
LEVELS BUILDS CHANGES DEVS
MASTER L0 1.2% 0.3% 0.7%
L1 12.3% 7.3% 8.2% INTEGRATION INTEGRATION
INTEGRATION INTEGRATION INTEGRATION INTEGRATION L2 35.3% 30.5% 36.5%
WORKING WORKING WORKING WORKING WORKING WORKING WORKING WORKING L3 47.2 59.9 52.3 % % %
Developer Private Loop MASTER
WORKING WORKING WORKING WORKING
TOPIC TOPIC TOPIC TOPIC TOPIC
Developer Private Loop Pre-Checkin Validation
WORKING BRANCH
Prepped as LKG Latest changes Build Synced and built in ROLLING BUILDS Successful Successful BUILD? TEST?
Pre-Checkin Pre-Checkin BUILD TEST
Once Pre-Checkin Criteria are met Developer can make a Combined with scoped CHANGES FROM DEV PULL REQUEST TOPIC BRANCH Developer makes code CHANGES IN TOPIC BRANCH
Microsoft Confidential
For 1 Day of Automated Lab Testing Windows Insider Program
Launched for Windows 10 development cycle
Listening to our customers Long History of Beta Programs Complexity
(Fortunately in the real world these things tend to cluster, but it’s still a big set)
Latency
Microsoft Confidential Windows Development in the Open
Windows 10 (RS5) *3 public previews
Windows 10 (RS4) 37 public previews
Windows 10 (16299) 44 public previews
Windows 10 (15063) 25 public previews
Windows 10 (14393) 28 public previews
Windows 10 (10586) 6 public previews
Windows 10 (10240) 15 public previews
Windows 8.1 1 public preview
Windows 8 3 public previews
Windows 7 2 public previews
0 200 400 600 800 1000 1200 1400 Microsoft Confidential * Not yet RTM Delta Start-First Public Delta First Public Delta RTM GA 68 Insiders are worldwide
Every country in the world has Insiders, covering ~ 95% of hardware components found on PCs 1.64M quests
Completed since Oct 2016
Microsoft Confidential 438,000 Insider problem reports fixed since Oct 2016 Microsoft Confidential Microsoft Confidential
Sharing Our Code Internally, In an Open Project
Areas Owners
Features available now in an open Microsoft project Microsoft Confidential Microsoft Confidentialhttp://Aka.ms/WiMigrator Microsoft Confidential http://Aka.ms/WorkItemOneClick 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.
Microsoft Confidential http://Aka.ms/DependencyTracker DEMO of Azure DevOps Thank you!
@DonovanBrown