The necessity of PaaS: Will Microsoft be the Singapore of Cloud Computing?

From ancient Mesopotamia to, more recently, Holland, Switzerland, Japan, Singapore and Korea, the success of many societies has been in part credited to their lack of natural resources. The theory being that it motivated them to rely on human capital, commerce and innovation rather than resource extraction. This approach eventually put them ahead of their better-endowed neighbors.

A similar dynamic may well propel Microsoft ahead in PaaS (Platform as a Service): IaaS with Windows is so painful that it may force Microsoft to focus on PaaS. The motivation is strong to “go up the stack” when the alternative is to cultivate the arid land of Windows-based IaaS.

I should disclose that I work for one of Microsoft’s main competitors, Oracle (though this blog only represents personal opinions), and that I am not an expert Windows system administrator. But I have enough experience to have seen some of the many reasons why Windows feels like a much less IaaS-friendly environment than Linux: e.g. the lack of SSH, the cumbersomeness of RDP, the constraints of the Windows license enforcement system, the Windows update mechanism, the immaturity of scripting, the difficulty of managing Windows from non-Windows machines (despite WS-Management), etc. For a simple illustration, go to EC2 and compare, between a Windows AMI and a Linux AMI, the steps (and time) needed to get from selecting an image to the point where you’re logged in and in control of a VM. And if you think that’s bad, things get even worse when we’re not just talking about a few long-lived Windows server instances in the Cloud but a highly dynamic environment in which all steps have to be automated and repeatable.

I am not saying that there aren’t ways around all this, just like it’s not impossible to grow grapes in Holland. It’s just usually not worth the effort. This recent post by RighScale illustrates both how hard it is but also that it is possible if you’re determined. The question is what benefits you get from Windows guests in IaaS and whether they justify the extra work. And also the additional license fee (while many of the issues are technical, others stem more from Microsoft’s refusal to acknowledge that the OS is a commodity). [Side note: this discussion is about Windows as a guest OS and not about the comparative virtues of Hyper-V, Xen-based hypervisors and VMWare.]

Under the DSI banner, Microsoft has been working for a while on improving the management/automation infrastructure for Windows, with tools like PowerShell (which I like a lot). These efforts pre-date the Cloud wave but definitely help Windows try to hold it own on the IaaS battleground. Still, it’s an uphill battle compared with Linux. So it makes perfect sense for Microsoft to move the battle to PaaS.

Just like commerce and innovation will, in the long term, bring more prosperity than focusing on mining and agriculture, PaaS will, in the long term, yield more benefits than IaaS. Even though it’s harder at first. That’s the good news for Microsoft.

On the other hand, lack of natural resources is not a guarantee of success either (as many poor desertic countries can testify) and Microsoft will have to fight to be successful in PaaS. But the work on Azure and many research efforts, like the “next-generation programming model for the cloud” (codename “Orleans”) that Mary Jo Foley revealed today, indicate that they are taking it very seriously. Their approach is not restricted by a VM-centric vision, which is often tempting for hypervisor and OS vendors. Microsoft’s move to PaaS is also facilitated by the fact that, while system administration and automation may not be a strength, development tools and application platforms are.

The forward-compatible Cloud will soon overshadow the backward-compatible Cloud and I expect Microsoft to play a role in it. They have to.

10 Comments

Filed under Application Mgmt, Automation, Azure, Cloud Computing, DevOps, Everything, IT Systems Mgmt, Linux, Manageability, Mgmt integration, Microsoft, Middleware, Oslo, PaaS, Research, Utility computing, WS-Management

10 Responses to The necessity of PaaS: Will Microsoft be the Singapore of Cloud Computing?

  1. Pingback: What We’re Reading About the Cloud: August 19

  2. Pingback: PaaS Is The Future Of Cloud Services: Why Microsoft Should Focus On PaaS | CloudAve

  3. Interesting post, there are two facts that must be considered:

    1) Rightscale had problems because of their approach. We at Kaavo have been supporting full deployment and run-time automation for Windows on the IaaS layer since spring of last year. Using our top down application centric approach, we were able to implement the Windows support quickly without the kind of pain reported by Rightscale.

    2) For delivering PaaS efficiently you need an efficient IaaS layer. PaaS can be delivered on bare metal servers, however, it wouldn’t as efficient as someone who is delivering PaaS leveraging the efficiencies of the IaaS layer. Checkout “Cloud Ecosystem and How the Players fit in the End-to-End Solution for Enterprise Customers” for more info on how PaaS fits in the overall solution.

  4. Hi Pramod,

    #1 is an intriguing claim. I’ll check out Kaavo to see what you mean.

    WRT to #2, you may want to let Google know that they’re doing it all wrong with Google App Engine and they are not achieving a good level of efficiency.

    There’s a complex set of trade-offs, but in the long run I highly doubt that IaaS will be the foundation for PaaS. More likely, IaaS will be a small adjunct to PaaS for the niche cases that don’t fit in PaaS.

  5. Do you know that Google has built their own private IaaS layer and uses it to deliver their SaaS and PaaS offerings? So actually Google App Engine supports the case of PaaS running on the IaaS layer. Public IaaS offering is basically bringing the technology to masses what big players have been doing for years. Even Amazon was using IaaS for their own SaaS offerings before making it available to everyone.

  6. Pramod,

    We may just have a vocabulary disconnect here. When I say “IaaS” I mean the EC2 flavor of it, where you get VMs on demand and they run on a hypervisor. I haven’t been invited inside Google’s datacenter, but I am pretty sure this is not the way their infrastructure works.

  7. Thanks for the link, though there is a long way between the slide in this article and the conclusion that Google’s services run on hypervisor… As the article mentions, it’s more likely that some internal apps run on a virtualized infrastructure.

    I am pretty sure there are some Windows machines somewhere in Google. It doesn’t mean that the Google infrastructure runs on Windows (now that would be a scoop).

  8. Pingback: PowerShell Hacker #12

  9. Pingback: PaaS Is The Future Of Cloud Services: Why Microsoft Should Focus On PaaS