Microsoft Starts to Share
I always have thought of Microsoft as Open Source in many ways. I know it may sound odd on several fronts, especially for a guy like me who has been using UNIX flavored operating systems since the early 1980s.
But I’ve also been using PC-Windows and Apple Macintoshes since the early 1980s, so I think my views are informed by a pretty wide set of data sources. When I build a desktop PC today, I cherry pick some of my favorite components- including quiet cases, Asus motherboards, Nvdia video cards, Samsung monitors, Logitech mice, etc. I can depend 100% that I can install Windows 7 and everything will not only work, but work in a pretty optimal state. From there, I can do some tuning and get even better performance. For me, relative to the evolution I’ve seen in home computers since the late 1970s, that’s pretty cool. An OS that will work with just about any hardware you throw at it. Sure- the operating system is built of binaries of which I don’t have access to source code. But even though I’m a power user, I don’t need it.
When Microsoft talks about being “all in” in terms of cloud computing, I get curious to see what they mean. Bob Muglia, head of Microsoft’s server group, recently gave a talk about Microsoft’s cloud computing efforts.
Cloud computing means something different to me than just providing a remotely-hosted operating system with the drivers to support just about any hardware. And it is very difficult to talk about cloud computing without talking about UNIX flavored operating systems- in this case Linux. (I will use Linux as a proxy for all open source variants of UNIX flavored operating systems for the purposes of this article.)
I define cloud computing as a shared hosting service that allows for self and automatic provisioning of resources, total virtualization of the operating system environment, and billing based on per unit consumption.
All of these attributes have been mostly inherent in open source UNIX variants since the beginning of their existence. When I logged onto the ucscb.ucsc.edu server while at college in 1988, the BSD 4.3 environment I saw was, more or less, a complete copy of the environment every user saw when they logged in. I could do word processing, chat, play games, send email, and develop software- as could everyone else. At the time, Microsoft didn’t have anything close to this- something that Muglia talks about in his speech:
“One thing I will tell you is that, I’ve been working with providing software to hosters for well over ten years, and we have not done as a company as good a job of providing you software that was designed to run in your environment, and thus you’ve had to do a lot of make work to adapt it to work.”
UNIX variants were built from the beginning to be used for hosting- hosting students, researchers, developers, and multi-user corporate environments. It is natural that Microsoft would need to catch up, and Muglia describes this as well. Muglia went on to say,
“Linux was actually quite a bit better than we were. You know, we recognized this was a deficiency… part of the reason for some of [our] these deficiencies has been that our focus has always been towards enterprise customers, and small business, not so much delivering things as a service, and particularly not so much towards the hosting community.”
So by understanding where Linux has strengths, Microsoft now clearly is in a position to compete. And it is welcome competition. Microsoft server environments take away the “code maintenance” and “hacking” necessary to run a strong Linux based environment. A good amount of engineers at companies who run massive Linux server farms such as Google and Akamai focus their time on “tuning the Linux kernel”, something not possible with Windows. The kernel is pre-compiled, and you tune the environment to your needs. This, among many other elements of a Microsoft server environment, is a big time saver. And Microsoft put a lot of effort into tuning their server operating systems for performance.
But performance is just the start. To be a true cloud environment, each user must have a complete virtual instance of the server at their disposal. Again this is new technology for Microsoft, but Muglia absolutely addresses its arrival as the “aspect of the evolution of the datacenter towards a compute an overall shared compute environment… this as an opportunity to dramatically accelerate the speed of building solutions and delivering solutions into the marketplace.”
Here is where the excitement begins. It would be great to be able to roll out cloud infrastructure without having to be a kernel tuner, hardware hacker, or server architecture guru. This is where Microsoft can add tremendous value to the industry. I can even envision it for the home- to have a single disk-based device accessed by terminals throughout the house, eliminating the need for heavy machines everywhere… yes that means a return to client-server in many ways, except in this case it’s not a server, but a virtual instance of a fully powered client machine.
And in terms of business scaling out, Muglia says, “they want to allow that software to run on behalf of another organization…there’s a whole different way that we think about running this pooled set of resources”
Finally the concept of what we called for years “sub accounts” comes into play. This is what is missing from so much software out there: the ability to set up sub accounts for business to create sub accounts for their clients to create sub accounts for their users etc… This works great on Linux- and would be great to come to the world of Microsoft.
Overall, I’m excited that Microsoft is throwing its resources behind shared server hosting technology and creating strong competition to the Linux world. Of course I am also well aware that this will create a more complex field of vendors, offerings, and service levels- and require work to decipher and differentiate between potential contracts.
But what excited me most from his talk was some of that classic Microsoft humor, as Muglia used the term “dog fooding” to mean that Microsoft will offer up its own services based on its own software.
Related Posts
This entry was posted on Friday, May 14th, 2010 at 4:05 pm and is filed under Cloud Computing, Managed Services. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.









Why can’t microsoft just open up and allow any software to run on their hosting. Its frustrating to have to use their software for everything. i guess you can say Microsoft is open becuase it work on everything but thats like saying the secret formula for coca=cola is open bc everyone drinks it.
It seems to me this is a repeat of when Microsoft was pushing Hosted Messaging and Collaboration (HMC) out to the Hosters to get Exchange to work in a multi-tenant environment. HMC 4.5 needs about 18 Servers according to M$ — that worked out well for us small Hosters! Oh, and if you want to implement OCS that is another 9 Servers! Can you say $$$,$$$.00. I see M$ Cloud Computing going down the same path. Microsoft says an Exchange 2010 version for Hosters, will be out at the end of the year, which will be multi-tenant out of the box. Why did it take 10 Years? If it takes Cloud Computing takes that long I’ll be retired by then and who the heck cares about Microsoft.
Article sounds good. Just wanted to add some more things to it, it does not mention about Windows Azure platform which is big initiative by Microsoft in cloud computing space. Windows Azure platform is basically platform as service. Microsoft offering to cloud is not only restricted to SaaS (Software as a Service) which includes BPOS and other online offerings, but it includes PaaS (Platform as a service) which includes .NET and others as well. Below link should give an good overview of windows azure platform and its capability.
http://www.microsoft.com/windowsazure/products/
Addressing to the concerned raised by Philip in his comments – Microsoft has Azure Cloud platform which runs any custom built app in Microsoft cloud. This can be any custom line of business application. Now the plat forms for building these applications can Microsoft technology stack like .NET. Moreover Microsoft also supports other platforms apart from .NET for building these applications like PHP, Ruby, Python and Java. It also has azure SDK’s built for Java, PHP and Ruby, as well as has Eclipse plug in. So this should answer your concern raised of running software in the cloud hosting environment.
Regards,
Amol Gote (MSFT)