Disclaimer: I’m ranting about the term PaaS, not the concept.
We just published the 2010 Hype Cycle for Cloud Computing and is it a surprise that the most hyped term (other than cloud computing itself), is PaaS? This is in part due to legitimate excitement about some of the offerings and possibilities. However there is a huge amount of confusion generated by this term. There are many problems with this term and the absurd discussions that come about keep getting more absurd all the time.
I can’t even count how many conversations I’ve had over the past year or so explaining why hosting something like Websphere or Oracle on Amazon is not PaaS. (A good rule of thumb is if you need a traditional software license it’s not a service.) You have some software being hosted on some cloud infrastructure service (IaaS).
I’ve been meaning to write this for a while. Many of you who talk to me have probably heard it a few times already. A couple of recent discussions have prompted me to finally do it. First, Red Hat’s “PaaS” announcement which is not a PaaS but enabling technology that can be used to build one. But what really put me over the edge was a conversation about another vendor’s offering of "PaaS as a Product". To me this is as absurd as General Motors, who builds cars that can be used as taxis (and could be called ‘car as a service’ (or CaaS)) referring to
their cars as "CaaS as a car" or "CaaS as a product". Pretty absurd isn’t it? That’s just the beginning of the absurdity that the PaaS term leads to.
It comes down to use of two words, both of which by themselves are often sources of confusion (and in the cloud world, we thrive on confusion, but this is too much). The words are Platform and Service, which of course are the P and the S.
First, lets look at “service”. Most of the offerings from companies like Redhat and VMware are cloud enabling products, not services. Not that there’s anything wrong with that…We even have a term for it at Gartner – Cloud Enabled Application Platforms (CEAP). They can be used by service providers and even internal data centers to provide a "PaaS". But they themselves are not services. (Side comment, I’ve yet to see true "PaaS" or SaaS internally but that’s a rant for the future…)
Next lets look at “platform”. Nobody could say it better than one of my favorites, Dilbert: .
It’s true that everything can be a platform, and that it can be an incredibly confusing term, especially when used unqualified like in PaaS. However it can also be a very helpful term and concept when viewed as a relative term. The example I often give is platform as the "you are here" marker in IT architecture. Like when you enter a city you are unfamiliar with, you look for a map with some indicator of where you are. Without it you have little hope of getting to your destination. Similarly in IT, the term platform can be used that way to help clarify, not confuse. As there can be many kinds of platforms (eg, hardware, browser, OS, database, app server,…), qualifying it is imperative to use if to help, not confuse.
Platform refers to an extensible entity, something that is built upon. It resides on top of infrastructure and below applications (also relative terms). At Gartner, we have referred to all of the levels (not just "PaaS") as types of web/cloud platforms. After all, don’t many of us also refer to Amazon as an IaaS platform when we are talking about building on top of it? What if what we
are building a "PaaS" on top of it? What would we call that? a PaaS Platform? Here we go getting absurd again.
Best to my recollection, the term PaaS can be credited to (blamed on?) Salesforce.com. Their entry, force.com, is indeed delivered as a service so it’s really not their fault. However, as cloud terminology evolved and we had IaaS and SaaS, using PaaS as a general term seems to be what happened. And NIST adopted it and everybody uses the term. Even us, although I do it kicking and screaming.
A better term to describe what most people mean when they say PaaS is "middleware in the cloud". This doesn’t use the term platform as ambiguously and it makes no claims that anything is delivered as a service at that level. And when you want to actually mean services, we call it "Cloud Application Infrastructure services"
I’m not betting that the term PaaS will disappear (Certainly the concepts won’t as they are critical.) It’s too entrenched. But in the confusing world of cloud computing, is the term helping or hurting? I say it’s hurting.