Azure CTO on how Linux and DevOps are remaking Microsoft’s cloud

Derrick Harris
> S C A L E
Published in
11 min readAug 20, 2015
Mark Russinovich. Source: Microsoft

Mark Russinovich rose to fame in the 1990s as an expert in Microsoft Windows, helping users get the most out of the operating system, while also uncovering some serious issues with it. In 2006, he joined Microsoft to help improve the operating with which he was so familiar.

Now, Russinovich is CTO of Microsoft Azure. In this interview, he discusses what makes a good cloud platform and how new cloud-native application architectures are forcing enterprises to once again view IT as a competitive advantage

From the desktop to the cloud

SCALE: How did you make the move from working on Windows — Microsoft’s desktop and server operating system — to working on Azure, its cloud operating system?

MARK RUSSINOVICH: I worked on Windows through the end of Vista and then Windows 7. I was looking at Windows 8, but at that point in time I stuck my head up and was talking with people in the company and seeing the changes that the industry was starting to go through.

The first change was the mobile change, which was happening while I was in Windows. I was working on making sure that Windows could adapt to that mobile change. Some of the things that you’re seeing, like Windows show up on small devices, that was some of what I was doing back then.

When I stuck my head up, I saw that there was another aspect to the mobile transformation that we’re going through, and that was the cloud. You have this periphery of mobile devices — not just phones, but devices that are now called Internet of Things devices, and headless devices that are sensors and controllers. All of these devices need to connect and store and process data someplace off the device. That is the cloud.

As I was talking with the people around the company, including some who had been in Windows and left to start this project called “Red Dog,” which became Azure, I realized there was a huge opportunity be part of that side of the disruption — to be at the center of the constellation of devices. That’s what attracted me to come over to Azure.

They might appear different, but Azure is what I consider an operating system for the cloud. It is a platform for the cloud. A lot of the learnings that I had for how to design a platform for a single system, like Windows, are directly applicable to a cloud platform.

Now, there’s a lot of things that are different, of course. You’re talking about massive-scale, distributed systems. Essentially the same problems that a technology like Mesos addresses. That’s also what made it exciting to me.

“I’ve heard people sour on the term DevOps in the last few months, and talk about it being an empty buzzword. I actually believe that it’s a meaningful word.”

What’s the defining feature of a cloud platform? Is it something like scale or “composability?”

I think scale-out, not scale-up, is one. Designing for failure is another one. If I was to lead with two principles for what cloud is, from a technology perspective, it would be those.

What’s the co-engineering like between the cloud and on-premises worlds within Microsoft?

A big strength of Microsoft is the hybrid play. The fact is that we do have these technologies that customers are using on-premises, and we’re using the exact same core pieces to bring those technologies up into the cloud. The SQL engine that runs behind Azure Database is the exact same one that runs the SQL Server boxed product. The engineering team is consolidated.

This kind of sharing of technologies allows us to take things back and forth from the on-premises to the cloud. Actually, more and more, it’s cloud-first. We have a “cloud-first” mantra at the company, which means we take more and more things back to the on-prem world from the cloud.

A place where you see us actually doing that is something we call Azure Stack, which is taking a subset of core Azure services and making them available for customers to deploy on-premises. We actually think that having the boxed-product technologies, and the connections to the companies using those, is a huge strength for us.

Does Microsoft have customers actually using these hybrid tools in production?

Absolutely. Not Azure Stack yet, because it’s not released but the predecessor to it called Azure Pack. We’ve had that out for about a year and a half, and we’ve got thousands of customers using it.

“What you’re hearing now is that every business segment is being disrupted by somebody like an Airbnb or an Uber, and to be competitive, the companies that aren’t necessarily born in the cloud need to operate like the ones that were.”

I think this is another benefit that we’ve got in Azure, actually. Not just things like machine learning, but first-party applications like Dynamics and Office 365, which are SaaS applications. If you think about any platform you’re building, it’s not just about supporting operating system services. What really drives a great platform are first-party applications where you’re getting direct feedback from people building big apps. In this case, something like Office 365 is much bigger and more demanding than the vast majority of our customers will ever be.

By making sure those applications work right on the platform, that makes sure that any applications that most of these enterprises or CSVs are going to be building will work great on the platform.

“I’ve heard people sour on the term DevOps in the last few months, and talk about it being an empty buzzword. I actually believe that it’s a meaningful word.”

New platforms need new architectures

Can walk me through the history of those principles at Microsoft? I don’t Azure was the company’s first experience with building for scale.

I think that to be able to design for hyperscale, and be able to adapt to failures and deliver services, you need to adopt a DevOps way of development and operations. I’ve heard people sour on the term DevOps in the last few months, and talk about it being an empty buzzword. I actually believe that it’s a meaningful word that really represents the transformation that Microsoft, starting with groups like Azure, has undergone over the last 5 to 10 years. Which is to move from a boxed-product way of operating to a world where we develop and operate the software, and have to do that in a very agile way to get new features and functionality out.

That requires culture, that requires tooling, and that requires the processes that support that — which are very different than the equivalents that you have for operating efficiently in the boxed-product world.

“What you’re hearing now is that every business segment is being disrupted by somebody like an Airbnb or an Uber, and to be competitive, the companies that aren’t necessarily born in the cloud need to operate like the ones that were.”

One of my criticisms early on was that companies were just rebuilding old architectures on top cloud platforms. Do you see customers now coming around to the idea of building applications in new ways?

I think that you saw cloud providers like us realize it, but it isn’t just in the context of cloud providers. It’s in internet service providers that have been living in this world for a long time. That forces you to discover these things because, at the kind of hyperscale that we’re getting to, you can’t operate any other way. We were forced to adapt to a new way of operating in order to accomplish the things that we needed to accomplish.

If you take a look at the early adoption of cloud among enterprises, a lot of it was taking what they had and moving it to the cloud. There’s not a lot of major new architecture, necessarily, going on with a lot of those projects. But enterprises are also starting to realize that to stay competitive in this world where they are going to have a competitor that’s taking advantage of a DevOps model, they need to also adopt a DevOps model. If you’ve got a competitor that is in the segment that you’re in, that is adopting things like containers and orchestration, and DevOps delivery of those applications, they’re going to have an advantage against you if you’re still operating in this traditional IT way of doing things.

That recognition is driving enterprises to take these things seriously and adopt them. What you’re hearing now is that every business segment is being disrupted by somebody like an Airbnb or an Uber, and to be competitive, the companies that aren’t necessarily born in the cloud need to operate like the ones that were.

“Last fall, it was one in five virtual machines were Linux virtual machines. Now, it’s up to one in four.”

Is there a challenge for Microsoft trying keep competitive with a company like Amazon Web Services, which runs primarily Linux instances and has a perception of catering to a new generation of developers?

For one, I want to point out that our public cloud, Azure, is not a Windows-centric public cloud. It’s a system-agnostic one. That’s the way that we’re operating, and we’ve been operating that way for a long time. The use of Linux in Azure is reflecting that. Last fall, it was one in five virtual machines were Linux virtual machines. Now, it’s up to one in four.

We are being recognized as a good place to run Linux, and the usage is reflecting that. From our perspective, if people want to run Linux and want to build their hyperscale applications on Linux, that’s great. We want Azure to be a fantastic place to do that. If they want to do it on Windows, we want to make sure that Azure is a great place to do that, as well.

And we also want to make sure that our Windows customers can take advantage of microservices and DevOps and containers the same way that someone that chooses Linux can take advantage of them. That’s why we’re building container technologies into Windows and why we’re doing these partnerships with Docker and Mesosphere to bring those technologies to the Windows space.

Microsoft and Mesosphere have successfully ported Mesos onto Windows. Why is this significant?

It’s significant because the orchestration layer is the place where we’re seeing a lot innovation and need for tooling and support for these new cloud application models. Mesos is a very popular option here, and bringing Mesos’s capabilities to Windows unlocks this new style of orchestration for Windows developers. And any organization that has applications mixed between Linux and Windows servers can now allocate a pool of resources and them manage them holistically using the same interfaces and the same deployment technologies. So we’re really excited about bringing that to the Windows world.

We’ve already supported Mesos on top of Azure, something that was done using the resource group templates that we co-developed with Mesosphere. That’s an example of bringing Linux technologies and Mesos onto the Azure platform because our customers were asking for it.

Source: Mesosphere

What considerations are you looking as you continue to evolve Azure? Are there certain technologies or use cases driving its evolution?

It’s actually kind of challenging because we’ve got very diverse use cases and very diverse applications that are taking advantage of the cloud. You mentioned one, which is what we call lift and shift, which is enterprises taking their existing workloads and architectures and moving them into the cloud. That requires a very special architecture, because you have to make the cloud look a lot like an on-premises environment.

Then, we also have the new, modern, cloud-native applications. They are hyperscale, scale-out, very much designed for resilience, and are taking advantage of things like microservices and the agility that those provide. Those have very different requirements, as well.

“While we do have a commitment to match some of the core infrastructure pricing with Amazon, we don’t hear pricing come up in conversations with customers.”

Planning for a data-driven future

How much does data, or big data, as a use case affect your day-to-day decision making and your future planning?

Data is a key part of the cloud scenarios. It’s also another great example of how we got very diverse types of workloads requiring different types of data technologies. From the lift-and-shift or OLTP type workloads that enterprise potentially use, to the massive scale-out, NoSQL-type solutions, to the large data stores like we’ve got with our data lake offering. There is just a full spectrum of different technologies addressing all of these that we’ve got to make sure we support and offer.

One of the big story lines in the past few years has been these “price wars” among the cloud providers. Is that something that’s going to come to an end at some point?

There was a lot of focus on pricing about a year and a half ago. A lot of news about price wars and this cloud provider dropping, another one matching. And while we do have a commitment to match some of the core infrastructure pricing with Amazon, we don’t hear pricing come up in conversations with customers, and we don’t see the industry at large — or analysts or customers — looking and focusing on that. It’s more about features and high-value services at this point.

“People talk about how every enterprise is now a data company, every enterprise now needs data scientists.”

Is that because people have just become familiar with how the cloud operates and how to architect for it, or with the differences among providers?

I think we’ll be seeing a lot more of the cluster-oriented microservices applications, as far as compute goes. And we’ll see more and more of the connected services in pipelines. IoT’s another area that we see a huge amount interest and momentum in, where you’ve got a whole bunch of cloud services connected together to deliver an IOT solution — from event-ingestion to live stream analysis, to dumping huge amounts of data into some store. You can then come along later and do data processing on top of it, and machine learning on top after that, to drive feedback that goes out to those devices.

We talked about the data services. Does the cloud provider have all of the data services that I’m going to be needing? What are the SLAs behind them? Can they support the hybrid scenarios that I’ve got in mind? These are the high-order bits, much more so than pricing at this.

If you were to look at Microsoft, the average Windows workload a decade ago and then project out a few years, what’s the difference in terms of what they might look like?

Absolutely. I think if you just take a look at that website-plus-database model, it came about because that’s the way that IT has created those applications. Once you can add these other services, like data analytics services, across your databases, websites and the different properties that your enterprise has, then you unlock a lot more learning.

What I just described there touches on a whole bunch of services. Everything from infrastructure-as-a-service to platform-as-a-service to machine learning. We’re going to see a lot more of those kinds of applications.

So if the past was about a web server talking a database, the future is more about data pipelines and connected systems?

Absolutely. AI think if you just take a look at that website-plus-database model, it came about because that’s the way that IT has created those applications. Once you can add these other services, like data analytics services, across your databases, websites and the different properties that your enterprise has, then you unlock a lot more learning.

People talk about how every enterprise is now a data company, every enterprise now needs data scientists. It goes to that, which is all my applications, even if they’re a web database, can make use of data analysis to drive better value. I mean, even if I’m just looking at the traffic on the website, or looking at the access patterns to the data, I can learn something about my customers, how to optimize my application and how to optimize my business.

--

--

Derrick Harris
> S C A L E

Hi :) Find me on Twitter to see what I’m up to now.