Can Microsoft Conquer Cloud Computing?
Microsoft is hoping it can leapfrog the competition yet again, with an operating system dubbed Windows Cloud.
No big technology company thrives on competition the way that Microsoft does. Whether the bogeyman is Apple’s graphical user interface, Novell’s Netware network operating system, or the Netscape Navigator Internet browser, Microsoft seems to enjoy meeting each challenge with a huge technical change of direction. And according to sources inside Microsoft, the next such about-face will come later this month, in the form of what is being called, for now, Windows Cloud.
Microsoft CEO Steve Ballmer mentioned Windows Cloud for the first time last week in two European speeches but said little about exactly how the new operating system will work. All that has been said in public by Microsoft’s head of cloud computing, Amitabh Srivastava, is that the project is “risky,” which is quite something from a guy whose last project was the late and troubled Windows Vista operating system.
Cloud computing is an extremely hot area right now. A cloud is made by linking together any number of generic Intel-class computers so that they act like a single large, distributed computing platform. An application running on a cloud can more easily scale up for larger audiences and is more resistant to failure. A computing cloud may contain tens of thousands of computers distributed around the Internet running applications on the nearest, least-loaded server or across a fleet of machines. Such applications can be anything from a website server to a virtual desktop computer accessed by a thin client or a Web browser.
Google’s many Web applications run on a cloud of machines that may well contain more than 100,000 nodes (the company won’t say). Dozens more companies, both large and small, are working on computing clouds because they could save money and energy, and enable more-powerful applications. Some researchers see clouds as the successor for everything from the PC to the mainframe.
But among the many questions not answered until now about Windows Cloud is how seriously the OS is being taken by the company itself. The same people within Microsoft suggest that the company is taking it very seriously indeed.
“The cloud stuff isn’t just another enterprise product,” explains a source who asks not to be named. “It is going to impact everything we do, all of the product groups. Consumer and enterprise are going to have to figure out where they fit into the cloud paradigm.”
Precisely how the cloud-computing paradigm will fit with Microsoft’s operating systems and applications remains a mystery for now. But one thing is clear: if Microsoft is to develop the technology needed to dominate the market, it will need to catch up quickly. “The shift to cloud-based computing is analogous to our shift to the Internet in the late ’90s,” the source adds. “[That] changed the direction of the company and impacted everything we did.”
The best-known cloud operating today with public access is Amazon’s Elastic Compute Cloud (EC2), which will soon also support Windows Server applications.
“Amazon’s EC2 made a big splash because it is true pay-as-you-go and really cheap,” says Armando Fox, a professor of computer science at the University of California, Berkeley. Another key reason for Amazon’s success, according to Fox, is the availability of free virtualization technology, namely the Linux operating system and a virtualization platform called Xen. This lets Amazon sell a virtual instance of a computer to a customer and distribute it across as many computers as necessary.
Until now, all computing clouds have involved some variant of Linux or UNIX. “Windows virtualization technology is a lot less mature, especially as far as consolidating multiple copies of Windows efficiently onto a single server,” Fox adds. “And the Windows ‘ecology’ is far less diverse [than Linux].”
An alternative approach is used by another cloud operating system (of sorts). 3tera’s Applogic runs in some data centers operated by hosting companies, and it, too, has announced that support for Windows applications is in beta testing. 3tera’s Applogic creates what the company calls an “application appliance” from a target application–a bit of code that is a virtualized instance of the application, which can be replicated over and over as needed, scaling up or down to meet demand, along with having some failover protection.
Whatever approach Microsoft decides to take, virtualization would help Windows Cloud avoid the problems faced by a similar concept: on-demand computing. On-demand computing (also known as utility computing) looked as popular three years ago as cloud computing looks today, and it was embraced heartily by Sun Microsystems and IBM (the latter to the tune of $10 billion). The idea also involves offering computer power “on tap,” but the only way to add more processing power is to add more processors.
However, to accommodate general-purpose applications, companies were forced to build a very complex and very expensive utility computing infrastructure. This is because most applications are not written to operate on parallel processors: they can’t scale to run on more processors–only faster ones.
Since Microsoft will hope to avoid this issue, Windows Cloud may come with a slew of new application programming interfaces (APIs) to allow the applications to run seamlessly across simpler, lower-cost infrastructure.
But the most exciting part of cloud computing–and a fundamental issue for Microsoft–is the way that it could impact the very PC desktop it so dominates. Why get a new PC to edit your home videos if you can just grab extra computing cycles as needed from Windows Cloud? As Microsoft’s Srivastava says, it’s a risky move.