79
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

How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 2: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

@AzureDevOps

https://azure.com/devops

Azure DevOps

#AzureDevOps

Page 3: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 4: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 5: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Before Azure DevOps

Page 6: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 7: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 8: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 9: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 10: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 11: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Azure Networking

Page 12: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 13: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 14: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

500GB+Source code

6000+Repos

Page 15: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

16,000Employees

3,900Employees

19,000Employees

22,352Employees

14,000Employees

3,100Employees

Page 16: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 17: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 18: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

18

Page 19: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Agile Planning,

Work Items,

Burndown

Page 20: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

11M Work Items

2.54MQueries &

Updates /day

350M Revisions

2Steam Engines

5.5Space Needles

ChicagoIllinois

Page 21: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

HOW DO YOU GET 11,000 SOFTWARE ENGINEERS TO WORK

INDEPENDENTLY

AND TOGETHER?

Page 22: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

See Far Operate Nimbly

Page 23: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Story

Customer

Promise

Scenario

Deliverable

Task

Defines the Product

we’re building

Describes the work

required to build it

Page 24: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 25: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 26: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 27: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 28: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 29: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 30: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 31: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 32: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 33: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 34: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 35: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Git and

Version Control

Page 36: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 37: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Source Depot

Page 38: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 39: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Azure

Compute500 MB

44k files

1.5GB pack file

7MB index file

150 users

Page 40: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 41: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 42: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Git on Windows repository

clone

checkout

status

commit

12 hrs

3 hrs

8 mins

30 mins

Page 43: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

© Microsoft Corporation

Page 44: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 45: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

win32src1.cpp

win32src2.cpp

win32src3.cpp

win32src4.cpp

win32src5.cpp

VFS DriverAzureRepos

Page 46: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

win32src2.cppwin32src2.cpp

win32src1.cpp

win32src3.cpp

win32src4.cpp

win32src5.cpp

VFS DriverAzureRepos

Page 47: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

win32src2.cppwin32src2.cpp

win32src1.cpp

win32src3.cpp

win32src4.cpp

win32src5.cpp

VFS DriverAzureRepos

Page 48: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

win32src5.cppwin32src5.cpp

win32src2.cppwin32src2.cpp

win32src1.cpp

win32src3.cpp

win32src4.cpp

VFS DriverAzureRepos

Page 49: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

NTFS Filesystem C:\

VFS for Git Filter Driver

Application

Page 50: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Git Onboarding Schedule & Productivity Impact (Git Pull Request/SDX Submit Measures)

Git Crossover – No Drop in Productivity

Page 51: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Build,

Deploy, and

Monitor

Page 52: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

TOPIC TOPIC

MASTER

Developer Private Loop

TOPIC TOPICTOPIC

Page 53: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 55: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 56: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 57: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 58: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 59: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 60: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 61: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

TOPIC TOPIC

MASTER

Developer Private Loop

TOPIC TOPICTOPIC

WORKING WORKING WORKINGWORKING

Page 62: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 63: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 64: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

For 1 Day of Automated Lab Testing

Page 65: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Windows Insider

Program

Listening to our

customers

Launched for Windows 10

development cycle

Page 66: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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)

Page 67: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 68: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Every country in the world has Insiders, covering ~ 95% of hardware

components found on PCs

Insiders are worldwide

Page 69: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

1.64Mquests

Completed since Oct 2016

Page 70: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

438,000 Insider problem reports fixed

since Oct 2016

Page 71: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 72: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps
Page 73: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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

Page 74: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidential

Page 75: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidentialhttp://Aka.ms/WiMigrator

Page 76: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Microsoft Confidentialhttp://Aka.ms/WorkItemOneClick

Page 77: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

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.

Page 78: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

DEMO of Azure DevOps

Page 79: How Microsoft builds software and services like Windows ... · How Microsoft builds software and services like Windows, Office, Bing, Minecraft, and others powered by Azure DevOps

Thank you!

@DonovanBrown