DevOps at Microsoft: Innovating on open source


>>My team is the.NET
Engineering Services Team.>>We are in charge of all of the shared infrastructure
for.NET Core.>>Each individual component of.NET
was open-sourced one by one.>>Having code on GitHub enables us to work together with more devs, and to me that always feels better.>>.NET is very, very complex.>>It was literally over 80 repos, with multiple distros,
multiple versions. How does this even work?>>You had a lot of differentiation between the way each
repository was built up. But that’s felt both by internal Microsoft developers as
well as by external contributors. How do we innovate more rapidly if the processes are so different
across all these repositories?>>It needed an overhaul. We needed to essentially
start from the ground up. It was going to be
painful, but we had to.>>We have been improving that
situation through a number of ways. One is, reduce the number
of repos, seems obvious.>>We wanted to standardize our
tooling across the repositories. As part of our shared tooling, we moved the repositories
into a common layout, and that then enables
you to work faster. Continuous integration is very, very important for a
project of our scale. You are looking at hundreds
of pull requests per day across all of the repositories.>>Scale was getting us with
the number of tests that we’re doing like literally in the billions.>>So we had a bunch of
different CI systems. They are all imperfect, and all had some serious drawbacks. When your CI systems differ
across your repositories, making wide-scale
changes across the stack for the engineering services team
becomes a lot more difficult. We wanted to converge on a single CI system for both
our builds and testing.>>What really helped us was
our move to Azure Pipelines. Not only did it handle
our scale well, but also it was just
much more reliable. As a dev, you don’t want to just be fighting fires day in and day out. You want to be working on new
features, and making improvements.>>So that we can
accelerate our development, improve our quality, and
ship the products faster. There’s a great satisfaction in just watching things just
slowly get smoother.>>In the context of open source, it makes not only good business sense but it makes good human sense.

Leave a Reply

Your email address will not be published. Required fields are marked *