[Update 2022 Dec]
Very interesting how terminology has changed since 2015. It seems all was more or less marketing confusion to make customers uncertain and then “help” them. And of course, in some places below I was plain wrong.
[Update 2015 Mar 30]
A very good article very much in the same direction has appeared on ZDNET.
[Originally published Dec 2013]
Really? How can 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, 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 the “software delivery model” (aka distribution model). Or sometimes just a “cloud model”. Or even more confusingly “computation as a public utility”. This 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 that 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 a well-defined interface. Software and data. Service encapsulates a 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, a 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 20th-century popular oversimplification: “just a place to launch software”, we can simply say Cloud hosted Platform is a PaaS instance. An instance is the implementation of the concept. And here is the second DBJ definition:
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 browsers?
What are they? Here is what. A browser is a client software; that delivers 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 a web browser is not SaaS/PaaS tool or mechanism. It is (simply) a local, desktop piece of software running on your device. It existed before the term: Cloud. Web browser + Web server is a web content delivery mechanism that uses HTTP protocol. A mechanism for delivering www resources. Which are in turn uniquely addressed by their URLs. 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 the software. Browser is a client-side native app that holds UI. The same software 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 a 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 the Internet is not. “Internet” seriously pre-dates XaaS…
Internet uses (it is not) a globally available network that is based on the TCP/IP stack.
Thus there is no “physical entity” that “Service is replacing”. There are 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 entities”
I think I am being benign here :)