It appears to many people, both inside and outside of the company, that Microsoft is putting most of its development efforts into Azure, its cloud-computing platform, rather than Windows Server. This makes sense as part of its oft-declared “all in with the cloud” philosophy, but in many ways Azure is still a mystery, especially to IT professionals.
Some see it — and cloud computing in general — as a threat to their jobs, as I discussed in a previous post: “It Pros Are Not Feeling the Love from Microsoft.“ Some, who apparently don’t understand what Azure is, are afraid it will subsume Windows Server, and I’ve even heard some predict that “the next release of Windows Server will be the last.”
There is no doubt that Microsoft is pouring resources into “the cloud thing.” That includes putting many of its best people to work on cloud-related projects. It was big news last summer when Mark Russinovich, of Sysinternals’ fame, was moved from the Windows Core Operating System Division to the Windows Azure team. The cloud OS team includes a number of key employees such as Dave Cutler, who is considered the father of Windows NT, and Yousef Khalidi, who was formerly a member of the Windows Core Architecture Group.
But does this focus on Azure really mean the death of the datacenter — and the Windows servers that empower it - or could it actually signal the rebirth of Windows as a fresh, new, more flexible foundation for both public cloud offerings and the private cloud-based, on-premise datacenters of the future?
Ralph Waldo Emerson once said, “To be great is to be misunderstood.” Perhaps Microsoft can take comfort in that, because based on my casual discussions with many in the IT industry, Azure is one of the most misunderstood products the company has produced (and that’s saying a lot). Microsoft’s own descriptions of Azure often leave you more confused than ever.
For instance, the video titled What Is Windows Azure that’s linked from their Windows Azure page talks about three components: the “fabric,” the storage service, and the “developer experience.” Huh? To confuse matters more, many of the papers you’ll find on Azure, such as Introducing Windows Azure by David Chappell & Associates, list its three parts as fabric, storage service, and compute service.
The most common point of puzzlement is over whether Azure is or isn’t an operating system. Mary Jo Foley, in her Guide for the Perplexed, called Azure the base operating system that used to be codenamed “Red Dog” and was designed by a team of operating system experts at Microsoft. But she goes on to say that it networks and manages the set of Windows Server 2008 machines that comprise the cloud. That leaves us wondering whether Azure is an OS on which applications run or an OS on which another operating system runs.
Microsoft’s own web sites and documents, in fact, rarely call Azure an operating system, but refer to it as a “platform.” That’s a word that is used in many different ways in the IT industry. We have hardware platforms such as x86/x64, RISC, and ARM. We have software platforms such as .NET and Java. We have mobile platforms such as BlackBerry, Android, and WinMo. And we have OS platforms such as Windows, Linux, Mac OS X, Solaris, and so forth.
So what sort of platform is Azure? According to MSDN, it’s “an Internet-scale cloud computing and services platform hosted in Microsoft datacenters” that comprises three developer services: Windows Azure, Windows Azure AppFabric, and SQL Azure. So there we have yet another, different list of Azure’s three components.
It’s important to note that although they differ in other respects, every one of these lists includes the “fabric” component. And that’s also the most mysterious of the components to those who are new to Azure. Mark Russinovich likens Azure to a “big computer in the sky” and explains that the Fabric Controller is analogous to the kernel of the operating system. He has a unique ability to take this very complex subject and make sense out of it, and his Channel 9 discussion of Azure, cloud OS, and PaaS is well worth watching if you want a better understanding of the Fabric Controller and what it does.
How it all fits together
If you’re familiar with the basics of cloud computing, you know there are three basic service models: Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). Azure solutions exist for both the IaaS and the PaaS deployment models, with the former providing only compute, network, and storage services and the latter providing everything that the application code needs to run on.
This platform is not an operating system in the traditional sense; it has no OS interfaces like Control Panel, Server Manager, etc. on Windows Server. However, it does do some of the things, in the cloud, that conventional operating systems do, such as managing storage and devices and providing a run-time environment for applications, which is hosted by the Fabric Controller.
Where does Windows Server come in? You might remember that back in December 2009, Microsoft brought the Windows Server and Windows Azure teams together to form the Windows Server and Cloud Division within the Server and Tools Business that was led by Bob Muglia until the recent reorganization and is now under the wing of Satya Nadella. The fact that these two products are part of the same division should be a clue that they’re closely related. And in fact, if you take a look inside an instance of Windows Azure, you’ll find that they’re more closely related than you might have guessed.
So, after all the angst, we find that the operating system with which you interact in an Azure environment isn’t some brand-new, mysterious OS after all. It’s a virtualized version of Windows Server 2008 that has been preconfigured with a specific amount of resources (CPU, RAM, and storage) and delivered to you for a monthly fee. IT pros can breathe a sigh of relief; if you’re a Windows Server 2008 admin, you already know how to manage the OS that’s “visible” in Azure. Developers use the same tools and programming languages to create applications for Azure. The big difference is that the Fabric Controller manages the cloud environment, so applications must be structured with that in mind. For the nitty-gritty details about those differences, check out IaaS, PaaS and the Windows Azure Platform by Keith Pijanowski.
Stay on top of the latest Microsoft Windows tips and tricks with TechRepublic’s Windows Desktop newsletter, delivered every Monday and Thursday.