How 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? . 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/ 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 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 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 Program

Launched for 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 -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 a quick glance.

Microsoft Confidential http://Aka.ms/DependencyTracker DEMO of Azure DevOps Thank you!

@DonovanBrown