Back in June, Microsoft communicated a strategy shift for its Windows Server business, revealing what it calls the Cloud OS, or, less frequently, the cloud operating system for infrastructure. Many were confused by this revelation, which seems to imply some future product or service. But the Cloud OS is actually a vision of the future, a destination or goal that includes other products and services.
Part of a Broader Movement
Microsoft’s Cloud OS vision makes more sense, perhaps, within the broader context of the sea change that's gripping both the software giant and the entire technology industry. Core products such as Windows and Office are now being delivered and updated online, as services, and the company’s transition from its traditional role as a supplier of on-premises software solutions to a devices and services firm has been shockingly fast and efficient.
Collectively, we’ve been somewhat obsessed by Windows 8 and its other new consumer- and client-oriented technologies this year. And in being so obsessed, we sometimes forget that this release is just the Windows client implementation of a broader and more important trend. Across Microsoft, and across our industry, traditional software products and on-premises solutions are being replaced with ever-increasing speed by online services.
Consider Windows 8 and Office 2013, two of the more high-profile Microsoft releases this year. Both are emblematic of where we are in this transition, and both can be deployed in old-fashioned and traditional ways, including via the purchase of shrink-wrapped boxes that hold optical media. But both can also be delivered electronically, as services. Windows users today can upgrade inexpensively and easily to Windows 8 via a web-based installer that includes more functionality than the more expensive retail upgrade package. And Office 2013 is being delivered over the web throughwith lenient new licensing rules that let users install the software on up to five PCs and devices.
Both Windows 8 and Office 2013—and other products such as Visual Studio 2012—will be updated on a rolling basis, exactly as are online services such as Office 365 and Windows Intune, instead of once every few years or so as was the norm. Yes, you will still run this software on some device, locally. But the way they’re deployed and updated on those devices has changed dramatically.
This trend toward services extends to our data as well. After years of ever-escalating hard drive sizes, modern PCs and devices come with SSD or other forms of solid state storage that offer far less local capacity. Looking at just portable computers, after hard drive sizes hit the 500GB limit, we switched to much lower-capacity SSD storage, with the norm being 128GB for a few years there. Today, Windows 8 and Windows RT devices such as Microsoft’s Surface often ship with just 32GB or 64GB of flash storage. The reason? Our data is stored in online services and is synced to the device or accessed when online.
Some will fight back against these trends, and certainly some areas of the world are ill-served with expensive, metered, and low-quality broadband connections. But the combination of online services and simpler devices is a tsunami that can’t be stopped, nor slowed. It’s happening.
Enter Cloud OS
On the server side, Microsoft today offers traditional, on-premises Windows Server products and Windows Azure, with its cloud-based infrastructure as a service (IaaS) and platform as a service (PaaS) capabilities. That Windows Azure was influenced by and based on Windows Server is well understood. But Azure also evolved and matured in a world that's starkly different from that of on-premises servers, one where downtime isn’t just frowned upon but is, in fact, not allowed. And as you’ll see, the evolution of Azure has, for the first time in Windows Server 2012, made an impact on Microsoft’s on-premises solutions as well.
For the moment, however, we’re in the midst of transition. And transitions certainly don’t happen by cutting off old ways of doing things and forcing customers to embrace change. This is even more pertinent to the server market, and to how businesses operate in general, than it is with consumer products. Although Microsoft’s move to services-based offerings is exciting on some levels and forward-leaning, the firm’s biggest strength during this transition, I think, is that it hasn’t abandoned customers’ continued needs for traditionally delivered software. That is, in addition to services, Microsoft has continued to invest in more traditional server products—Windows Server, System Center, SQL Server, and Exchange Server. And it has engineered these products to work in a hybrid mode where they can interact, often seamlessly, with their services-based brethren. This, folks, is transition done right.
The goal for Microsoft is what it calls Cloud OS. This is an unfortunate name in some ways as it has no product or service coming called Cloud OS. But the point behind Cloud OS, as I understand it, is that it’s a rallying cry for the industry and indication that Microsoft intends to fully embrace that transition to a services theme and apply it to the server world.
In the initial communication about Cloud OS in June, Microsoft Server and Tools president Satya Nadella noted that the unit of hardware abstraction that a server OS manages had reached the data-center level. That is, the server OS—which we might fairly consider to be both Windows Server and System Center combined in this scenario—doesn’t manage a single server: It manages a set of servers. This has physical ramifications—data center versus server—but also management ramifications. And if you’re familiar with , you understand that one of the core features of this release is the real-world embodiment of this philosophy. That is, it can be used to simultaneously manage multiple servers at one time.
It’s fair to say that future Windows Server (and System Center) updates will expand on this functionality. And although an OS will most likely always be installed locally on individual servers, the hive intelligence of that OS will now always expand beyond that single system as well. This is a very special kind of scale. It makes Windows Server the “cornerstone” of Microsoft’s Cloud OS vision.
I spoke with Microsoft Distinguished Engineer Jeffrey Snover at BUILD about Cloud OS. He told me that Microsoft’s understanding of where this would lead was like drawing with watercolor, but that over time it would become a more concise engineering blueprint. “The Cloud OS shifts the focus forever,” he said. “It’s not a single server anymore. It’s a data-center mindset now.”
He compared this work to the early work on Windows NT, where Microsoft created a hardware abstraction layer, or HAL, that enabled the same OS to run on incompatible platforms such as Intel x86 and MIPS. “The HAL was the unsung hero of the x86 ecosystem,” he said. “And now we’re doing the same thing for the data center, a DHAL, if you will.” (Microsoft’s DHAL work rests on standards-based management technologies, however, which is certainly not the approach the company would have taken a few years ago.)
Bill Hilf, the general manager of Azure, told me that customers want homogeneous, repeatable infrastructure. “Our unit of deployment is a cluster, which is 1,000 servers in one unit,” he said. “A fabric controller orchestrates the servers together. If you’re thinking about single servers, something is wrong.”
Hilf noted that Microsoft’s experience with Azure has led to a "virtuous cycle"—that is, a feedback loop that goes in both directions, with a favorable result—in this case, where improvements in Azure were pushed back to on-premises products such as Windows Server 2012 and System Center 2012. “We know how to patch tens of thousands of servers without the service going down,” he said. “We call this cluster-aware patching, where you automate the patching of all the hosts. When you bring the concepts from large-scale public cloud to your server products, it makes it real and tangible for customers.”
Virtuous Cycle: From Azure Back to Windows Server 2012
Intrigued by style of product development, I spoke with Mike Schutz, general manager for Microsoft’s Server and Cloud Division, who provided some insights into this virtuous cycle. Product development, he said, was an interesting problem. Looking back over a decade of Windows Server releases, Microsoft always conferred with customers and partners, asking them what changes and features they’d like to see in a coming version. But often customers don’t actually know what they’re looking for. “How do you build a bike when you've never ridden one?” he asked. “Our engineering team understands what it takes to run a large-scale public cloud, and that firsthand knowledge—and the pain, really—took us to a game-changing destination in Windows Server 2012.”
Schutz mentioned the cluster-aware patching concept and noted that most Microsoft customers aren’t really big enough to take advantage of such functionality. But that doesn’t mean the concept isn’t valid, and customers can take advantage of similar features in Windows Server at a smaller level. So the capabilities are there to patch smaller entities, such as nodes, while ensuring that the service you’re presenting internally or to customers stays online, as it would with an online service.
Automation is another example. It’s probably not lost on you that Microsoft is heavily pushing Windows PowerShell–based automation capabilities in Windows Server 2012, especially. “Ubiquitous automation is a core tenet,” Schutz told me. “We want to be able to automate everything. With PowerShell, administrators, partners— anyone—can layer on the core capabilities with their own tools. It’s a big deal.”
Then there’s networking. In the hosted services world, data centers and servers are hosting multiple customers, so multi-tenancy is a requirement. Most enterprises hear "shared resources" and lose interest, but as Schutz noted, multi-tenancy makes sense for this market as well. “Talk to them about mergers and acquisitions, bring in a new company that has a different network infrastructure,” he said. “Do you want that on the shared infrastructure? Or what about HR and finance, which are basically different businesses? You need a consistent shared infrastructure.”
Windows Server 2012 introduces a concept called software-defined networking in which you can have shared but isolated network infrastructure, where the logical networks are abstracted from the underlying physical network. “This is the single biggest data-center transformation we've seen,” Schutz said. “We’ve done it with Azure, and we’re doing it with Server 2012.”
I also liked Schutz’s definition of cloud computing as services plus management plus automation, a definition that mirrors a discussion I had a few years ago with Server principal group program manager Jeff Woolsey. “The message is simple: You just can't think a server at a time anymore,” he said. “You’ll die if you do. Instead, think about the whole data center as the computer, or what we call a unit of compute. It’s a larger scale construct, essentially a container.”
The future of this stuff, he said, is smarter software that works on standardized hardware, software that can reroute automatically around failures and keep services running, creating seamless uptime for the consumers of those services. Some of this is quite evolutionary, where the resiliency of the system is in the software layer instead of in the hardware layer. “The SMB protocol is now resilient to hardware failure, so apps don’t need to be,” he said. “We don’t need to build really smart apps anymore. The OS knows what to do.”