When the term cloud computing was first introduced, vendors of conventional enterprise software were quick to invent the term private cloud so they could claim that they can do cloud computing, too. Of course, the first cloud providers immediately protested that this term doesn’t make sense. Nowadays, the IT community agrees that private clouds exist. As long as the five characteristics of my last post can be applied, it is justified to talk about cloud computing. It doesn’t really matter if the consumers are only from one organization and the cloud therefore is private.
Of course, if there is a private cloud there must also be a public cloud—a cloud that is not restricted to a particular group of consumers. If someone asks you which was first (private cloud or public cloud), you have to ask back whether he is talking about “public cloud” and “private cloud” or private cloud and public cloud. Yeah, sometimes concepts only come into existence after the things they denote, even if those things were invented by humans.
The term hybrid cloud is often misunderstood. A typical example can be found at SearchCloudComputing. The idea is that if an organization uses the services of a public cloud provider in addition to its private cloud, say for particular services, then this organization has a hybrid cloud. This is like putting a donkey and a horse in a stall and then claiming that you just created a mule. The key of a hybrid cloud is that the private and public clouds interact with each other. For instance, a solution that automatically moves virtual machines from the private cloud to the public cloud at peak times could be considered a hybrid cloud. Likewise, if the horse and the donkey interact and have some fun, you might get a mule eleven to twelve months later.
Vertical clouds are tailored to a particular industry, such as healthcare or finance. Some authors also use the term community cloud. I don’t like this expression because it sounds as if the consumers of the cloud have to interact in some way. Some analysts believe that vertical clouds are the next big thing. I think this remains to be seen. Just as retailers that are specialized on a certain product type now have a hard time competing with “everything stores” like Amazon, so will vertical cloud providers find it difficult to keep up with Amazon’s versatile “everything cloud.”
Of course, if there is a vertical cloud there must also be a horizontal cloud, which is a general cloud that doesn’t specialize in any industry. You won’t hear this term often, simply because horizontal cloud providers don’t feel the need to distinguish themselves from vertical clouds. I think it is likely that vertical clouds will grow within horizontal clouds. The Amazon cloud ecosystem is growing at a remarkable pace, and many providers are already offering special cloud services by utilizing Amazon’s cloud infrastructure. Just as specialized online shops are using Amazon’s marketplace instead of their own website to offer their products, so will vertical cloud providers use Amazon’s cloud infrastructure and ecosystem to build their vertical clouds.
Software as a Service (SaaS)
The NIST defines Software as a Service (SaaS) like this: “The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure.” In my opinion, this explanation causes confusion. I think such explanations are the reason why many IT pros reject cloud computing as something new.
The term SaaS was first mentioned in a paper from the Software & Information Industry Association (SIIA) in 2001, which makes no reference to cloud computing. In fact, SaaS is perfectly possible without any cloud infrastructure involved. For instance, if a service provider requires human interaction before a software service can be provisioned, then, according to the NIST’s own definition of cloud computing, the provider’s SaaS doesn’t run on cloud infrastructure.
Software as a Service
There are only two requirements for SaaS: the software runs on the provider’s own infrastructure and the software is rented by the consumer. The location of the service doesn’t have to be virtualized, you don’t need resource pooling and rapid elasticity, and the service doesn’t even have to be measured. Of course, SaaS and the cloud harmonize well, but so do many other new and old information technologies and concepts.
The main confusion stems from the fact that many equate “cloud computing” with “online services,” which is, of course, nonsense. If that were the case, then we really don’t need the term “cloud computing” at all.
Infrastructure as a Service (IaaS)
The same can be said about Infrastructure as a Service (IaaS). Some cloud providers offer IaaS, but cloud infrastructure is not a requirement for IaaS. An organization can rent a whole data center from a service provider without using cloud technology. The point about IaaS is that hardware resources such as CPU power, storage, and networks are rented, but consumers run and manage the operating system either on the rented infrastructure or on their own infrastructure.
For instance, a server virtualization solution offered as a service counts as IaaS. In this case, the consumer installs the operating system on the rented infrastructure. Storage as a Service (STaaS) is another typical IaaS example. Like in the first example, the consumer must manage the operating system, albeit, in this case, the operating system runs on-premises and the API of the infrastructure provider is used to access the storage.
According to this definition, classical hosting providers also offer IaaS.
Platform as a Service (PaaS)
If IaaS is essentially about renting hardware resources and SaaS is about renting software, then Platform as a Service (PaaS) must be about renting a platform. Thus, there suddenly appears to be a third fundamental IT category beside software and hardware. Can that be? Not really. In my opinion, PaaS is a sub category of SaaS. A platform such as ASP.NET is, of course, software. The difference between PaaS and other SaaS forms is that, with PaaS, consumers run their own software on top of the software that is provided as a service.
SaaS, PaaS, and IaaS compared
Actually, IaaS always also involves the renting of software, such as server virtualization software. However, I think my IaaS characterization above is correct because hardware is always delivered together with software. For example, even if you buy a server without an operating system, the server always comes with BIOS, which is also software. The point about IaaS is that computation capabilities are provided without an operating system and this implies that you can run any (platform independent) software to utilize these resources.
From my point of view, it would be better in most cases to avoid the term SaaS and talk about Application as a Service (AaaS) instead of SaaS to avoid confusion.
Because analysts and journalists love to juggle as many technical terms as possible, many new “aaSes” have been added to the cloud concept jungle lately. Here are just a few, with a short description.
Desktop as a Service (DaaS)
Desktop virtualization provided as a service is called Desktop as a Service (DaaS). There was quite a buzz on the web a couple of days ago when Amazon announced Workspaces. In my view, this won’t change the fact that Virtual Desktop Infrastructure (VDI) will stay a relatively unimportant transition technology.
Process as a Service (PraaS)
Process as a Service (PraaS) is another sub category of SaaS. A service provider not only offers independent software solutions as a service but integrates all applications in a way that portrays the business process of the consumer.
Communication as a Service (CaaS)
I added Communication as a Service (CaaS) to the list to demonstrate that there is still much room for more aaSes. Of course, you can provide any kind of application type as a service, and so it also works with Voice over IP (VoIP), instant messaging (IM), or video conferencing, which fall under CaaS.
Cloud as a Service (CaaS)
Cloud as a Service (CaaS) is a good example of how carelessly concepts in computer science are often defined compared to other scientific disciplines. CaaS not only stands for Communication as Service but also for Cloud as a Service. The latter means that a service provider offers a whole cloud infrastructure as a service. Sometimes CaaS can also mean Cluster as a Service, but I am too tired to add an extra paragraph for it.
Anything as a Service (XaaS)
This is my favorite. It stands for the fact that anything can be provided as a service. Typical examples are PaaS (Pizza as a Service), LaaS (Love as a Service), or NaaS (Nonsense as a Service). The biggest NaaS infrastructure provider I know is Facebook.