The Microsoft DevOps Journey (so far) - Guadalajara, 2020

A presentation at DevOpsDays Guadalajara in February 2020 in Guadalajara, Jalisco, Mexico by Sasha Rosenbaum

Slide 1

Slide 1

Slide 2

Slide 2

Sasha Rosenbaum Sr. Program Manager @GitHub @DivineOps Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 3

Slide 3

@DivineOps Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 4

Slide 4

And you? Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 5

Slide 5

Why DevOps? Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 6

Slide 6

62% of CEOs have an initiative to make their businesses more digital

Slide 7

Slide 7

Slide 8

Slide 8

Effective DevOps Key practices Culture Automation Lean Measurement Sharing Continuous Improvement

Slide 9

Slide 9

Why transformation? Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 10

Slide 10

http://www.bonkersworld.net/images/2011.06.27_organizational_charts.png

Slide 11

Slide 11

http://www.bonkersworld.net/images/2011.06.27_organizational_charts.png

Slide 12

Slide 12

So I would, any day of the week, trade off features for our own productivity.

Slide 13

Slide 13

15 ay -1 l-1 5 Se p15 N ov -1 5 Ja n16 M ar -1 M 6 ay -1 6 Ju l-1 6 Se p16 N ov -1 6 Ja n17 M ar -1 M 7 ay -1 7 Ju l-1 7 Se p17 N ov -1 7 Ja n18 M ar -1 M 8 ay -1 8 Ju l-1 8 Se p18 N ov -1 8 Ja n19 5 ar -1 5 Ju M M Ja n- 1ES Growth 100,000 80,000 Non-engineering Users 60,000 40,000 Engineer Users 20,000 0

Slide 14

Slide 14

The journey so far Sprint 166 Feb 2020 VSTS Preview Sprint 1 August 2010 400 Open Source Projects March 2010 Sprint 29 June 2012 Windows on Git 1ES Sprint 67 June 2014 Microsoft on GitHub July 2014 VS Code April 2015 Sprint 102 May 2017 Join Linux Foundation Nov 2016 Azure Pipelines Sprint 140 Sep 2018 GitHub Acquired Oct 2018 8.8k open source projects 25k employees contributing

Slide 15

Slide 15

– enhanced by GitHub Security Package Registry Actions

Slide 16

Slide 16

DevOps at Microsoft è https://aka.ms/DevOpsAtMicrosoft 110k 4.6m 28k 2.4m 8.8k 25k Active users inside Microsoft Private Git commits per month Builds per month Open Source repos on GItHub Work items created per day Employees contributing to open source 82,000 Deployments per day Data: Internal Microsoft engineering system activity, July 2019

Slide 17

Slide 17

107,000 Engineers in Microsoft working with 1ES One second per day is like adding One minute per day is like adding 3.7 163 More people to Microsoft More people to Microsoft One hour per day is like adding $2.7B per year

Slide 18

Slide 18

What did we learn? Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 19

Slide 19

Shipping is a feature! Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 20

Slide 20

collecting telemetry hypothesis

Slide 21

Slide 21

Release Flow Using Trunk Based Development to avoid Merge Hell

Slide 22

Slide 22

Your aim won’t be perfect. Control the blast radius. 1

Slide 23

Slide 23

Slide 24

Slide 24

Slide 25

Slide 25

Do you test in production? Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 26

Slide 26

Everyone tests in production! Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 27

Slide 27

Slide 28

Slide 28

Slide 29

Slide 29

Live site status is always the top priority

Slide 30

Slide 30

• • • • • • • • •

Slide 31

Slide 31

Slide 32

Slide 32

Iterate over pain Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 33

Slide 33

“One time” deployment commands in OneNote, email Set-Options “-p 0” Imagine a dozen more steps like that… And then…someone misses a step halfway through

Slide 34

Slide 34

ž ž

Slide 35

Slide 35

If a process often breaks, Do it MORE often Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 36

Slide 36

Shift left quality Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 37

Slide 37

• Tests that anyone can run anywhere (inc production) • Shifted to unit tests from automated functional tests • Core tests run before pull request • Fast and 100% reliable build and test is critical • Rolling tests run after commit

Slide 38

Slide 38

Slide 39

Slide 39

Slide 40

Slide 40

Slide 41

Slide 41

Autonomy vs alignment Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 42

Slide 42

Slide 43

Slide 43

Slide 44

Slide 44

Slide 45

Slide 45

Employee choice, not manager driven Typically <20% change, but 100% get to make a choice Cross-pollinate talent and microculture Sticky Note Exercise - Self Forming Teams

Slide 46

Slide 46

Measure impact not activity Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 47

Slide 47

Usage • Acquisition • Engagement • Satisfaction • Churn • Feature Usage I2D • Time to Build • Time to Self Test • Time to Deploy • Time to Learn Live Site Health Things we don’t watch • Time to Detect • Original estimate • Time to Communicate • Completed hours • Time to Mitigate • Lines of Code • Customer Impact • Team capacity • Incident Prevention Items • Team burndown • Aging Live Site Problems • Team velocity • SLA per Customer • # of bugs found • Customer Support Metrics

Slide 48

Slide 48

Quantitively & Qualitatively

Slide 49

Slide 49

Leadership is responsible for the big picture Sprint Semester Quarter 3 weeks 6 months 4 sprints 1 4 Teams are responsible for the detail 6 Strategy 12 months

Slide 50

Slide 50

Product OKRs Service OKRs Team OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Service OKRs Team OKRs Team OKRs Team OKRs

Slide 51

Slide 51

Sprint mail OKR check 2 sprints As needed: Experience Reviews OKR reset 4 sprints

Slide 52

Slide 52

What’s next? Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 53

Slide 53

The journey so far VSTS Preview Sprint 1 August 2010 400 Open Source Projects March 2010 Sprint 29 June 2012 1ES Sprint 67 June 2014 Microsoft on GitHub July 2014 VS Code April 2015 Windows on Git Sprint 102 May 2017 Join Linux Foundation Nov 2016 Azure Pipelines Sprint 140 Sep 2018 GitHub Acquired Oct 2018

Slide 54

Slide 54

Do you use open source? Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 55

Slide 55

Everyone uses open source! Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 56

Slide 56

Open Source 99% 90% of applications leverage open source software. of new code bases are open source components. Synopsys OSSRA 2019 report

Slide 57

Slide 57

What’s next? 67 4 VS Code April 2015 Windows on Git Sprint 102 May 2017 Join Linux Foundation Nov 2016 Azure Pipelines Sprint 140 Sep 2018 GitHub Acquired Oct 2018 • Inner source with GitHub • Shift-left with security & compliance • Building SRE discipline • Resilience / Chaos engineering practices

Slide 58

Slide 58

Azure DevOps and GitHub share the same leadership Bringing the requirements and insights of Azure DevOps customers to GitHub Standardized tooling for 100k engineers at Microsoft

Slide 59

Slide 59

Vulnerability Dependency Insights and automated security fixes with Dependabot Always on security analysis with GitHub advanced security scanning both open source repositories and enterprise code Integrated into the National Vulnerability Database, MITRE, and WhiteSource for up-to-date security information

Slide 60

Slide 60

Encourage teams to collaborate within your organization using the same processes and practices as open source communities Simplified collaboration across teams, sharing of knowledge, improved code reuse, and secured workflows Leveraging inner source and open source practices increases developers’ satisfaction, enabling them to work on interest projects and increase their skills

Slide 61

Slide 61

• Goal: chaos engineering by default across Azure services

Slide 62

Slide 62

A journey of a thousand miles begins with a single sprint Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 63

Slide 63

DevOps is NOT magic! Feb 20th, 2020 #DevOpsDays Guadalajara

Slide 64

Slide 64

Thank You! @DivineOps Feb 20th, 2020 #DevOpsDays Guadalajara