[Update 2015 Mar 30]
An very good article very much in the same direction has appeared on ZDNET.
[Originally published Dec 2013]
Really? How can a terminology hurt me ? Well it can: Indirectly through your wallet. And this is because PaaS/SaaS/IaaS v.s. Cloud nomenclature is not well understood. There is no consistent terminology. Thus people residing on this brave Cloud Computing Planet, do make fundamental mistakes that can cost them a lot. All just because of the initial misunderstandings on the terminology level.
There is a problem these days, whenever someone is trying to understand what kind-of-*aas is someone talking about. Or trying to sell. Mirrored in what Cloud service is one trying to buy.
For example: PaaS.
PaaS is “just” an overarching term.
Not precise enough to describe a particular PaaS instance. That opens the wallets of the innocent to marketing which begins with: “… our -aaS is kind-of-a PaaS..”.
When you think of PaaS, or SaaS or IaaS, what term do you use to name their relationship to the Cloud computing context? Do you even think about it?
For example: SaaS might be named “software delivery model” (aka distribution model) . Or sometimes just a “cloud model”. Or even more confusingly “computation as a public utility” . Which is just one sentence, from John McCarthy 1961 speech to MIT students , skilfully taken out of context. And then applied to some Cloud Conjecture ( My definition: Marketing + Architecture = Conjecture).
Mercifully, the term “IaaS” is relatively easy to understand: Infrastructure as a Service. What I think is wrong with most of the rest is that PaaS or SaaS are simply not a “method of software delivery”. Let’s rather use DBJ SaaS definition:
SaaS is set of methods of delivering services that are residing on-the-Cloud.
And the key addendum is this: Services which are in turn consumed by other remote services. Or simply called: remote software, in those primordial computing times. And yes, that also covers client side software too, not humans. Your browser is remote from some SaaS service. From the point of view of that service this is very much remote.
And what is this “Service thing”? To me that is one single unit of SaaS simply encapsulating software and/or data, used by some remote service, through well defined interface. Software and data. Service encapsulates combination of the two. SaaS Service is not just “software” which then might or might not consume or produce some data. Using the term “software” is too narrow here. And wrong. There is “data” too. And data is not a “program” aka “software”. “Service” is thus, in my mind, better term.
And what is PaaS then? For me, just a set of cloud hosted platforms.
Ok , and the “platform” is then what ? In this context vs 20-th century popular over simplification : “just a place to launch software”, we can simply say Cloud hosted Platform is PaaS instance. Instance being implementation of the concept. And here is the second DBJ defintion:
PaaS is a place to host running compositions of SaaS instances.
Touché ? Well, I am sorry, but there is not always a simple and catchy acronym for everything.
What about the (widely used www) browsers?
What are they? Here is what. Browser is a client software; delivering a www resource to you. And indeed delivering some software in the form of scripts that are delivered simply encoded as an applicable MIME type. But web-browser is not SaaS/PaaS tool or mechanism. It is (simply) local, desktop piece of software running on your device. It existed before the term: Cloud. Web browser + Web server is web content delivery mechanism that uses HTTP protocol. An mechanism for delivering www resources. Which are in turn uniquely addressed by their URL’s. These days Web Server, is just one of many Cloud hosted services. I would perhaps call it kind-of-a-PaaS. And the browser is a consumer.
Ok but where are human consumers of Cloud computing here? Here they are: they use UI which is part of software. Browser is client side native app that holds UI. The same software which is remote user/consumer of PaaS or SaaS. Which in turn, might or might not be used through a browser.
2014 Aug 08: XaaS
I stumbled upon this “XaaS” article and this key quote in it:
” …The common characteristics being that whatever is being offered as a service is delivered over the internet eliminating the cost and complexity of buying and managing the physical entity of whatever that service is replacing…”
I think, the problem of clarity remains unsolved by this “XaaS” definition..
“Whatever” is only two things : data and programs. “Service” can deliver only these two things. Amazon still has to use good old post office to deliver those goods to you. Hence the key lowest common denominator is: Globally Available Services reachable over the global computer network.
Thus: “Internet” is actually *not* required by XaaS. HTTP perhaps. But Internet not. “Internet” seriously pre-dates XaaS..
Internet uses (it is not) globally available network which is based on the TCP/IP stack.
Thus there is no “physical entity” that “Service is replacing”. There is only data and programs. Data is always transient as soon as it is not behind the service. Programs can be updated, but still are not “physical entity”
I think, I am being benign here :)