Microsoft has gone all in on DevOps. I’ve been talking with Microsoft’s engineering team that builds Azure, and there are several things we can learn from them.
Microsoft has structured its entire development of Azure along DevOps principles. They made the requisite investments in automating testing and automating provisioning. Of course, Azure is, in fact, a software-defined data center environment, so in some respects they are eating their own dog food.
What are the implications to Microsoft’s technical investments in the software-defined environment – the standard middleware, productivity tools and provisioning tools that go with that?
One of the most important implications is the labor model. Microsoft recognized the need for collaboration and speed and (a) built its teams to address those needs and (b) built the right working environment to enable the teams to do that.
Microsoft divided its Azure organization into small, homogenous teams – feature teams – with only two job functions: product manager and engineers. These teams range from 15 to 20 people who are collocated together. The product manager who has responsibility for the functionality a team is driving (the what and the when) sits in the team of engineers (responsible for the how) and works shoulder to shoulder with them. Microsoft also tore out all their offices and created an open environment of neighborhoods in which they put these working teams.
Microsoft continues to host a lot of development work in China and India. The strategy is to use this talent pool as independent feature teams delivering product capability into general Azure services and sometimes optimizing Azure services for the local market. The highest-level road maps for Azure operate out of Redmond yet leverage the day-to-day product management and engineering capabilities embedded in the feature teams deployed around the globe. This allows Azure to move to a true DevOps environment with continuous releases and automated testing.
The result? Microsoft Azure’s pace of innovation has skyrocketed, quality has improved and the number of errors has dropped dramatically. The offerings have improved and are more user friendly and easier to use. And Azure is now making tremendous headway in capturing market share.
Moving to a DevOps environment enabled Azure to keep pace with the likes of cloud competitors AWS and Google. What could it do for your company?