It is pretty much agreed in the industry that there are three expressions of cloud computing: software-as-a-service (SaaS), platform-as-a-service (Paas) and infrastructure-as-a-service (Iaas). Several vendors, hoping to gain some marketing and branding traction, have started to call what they're doing "the fourth type of cloud computing." For the most part, I don't believe what their offering is the fourth type of cloud computing.
But wait! What is cloud computing?
As with many so called new approaches to information technology, the concept of cloud computing is based upon a foundation of what has come before. That being said, many suppliers have decided to brand just about anything that is web-based as "cloud computing." It seems to me a more relevant, functional description is needed before we can truly understand what's new, what's been around for a long time and only then, can a better definition be accepted.
My colleagues and I worked on a complete definition and published it as "The Cloud Codex." After watching the market and various types of innovation, we're in the process of revising that framework or taxonomy.
We believe that, to be truly be called cloud computing, several things simply must be available. Things such as the environment must be publicly accessible. APIs must be available allowing organizations to develop their own management environments or use those offered by others. It must support multiple tenets (subscribers). There must also be a Web-based management environment that makes it possible to operate and administer all functions of the subscriber's cloud environment. Very granular accounting/costing information must be available to subscribers allowing a fine level of control and the creation of chargeback mechanisms. The environment must both be scaleable and elastic allowing subscribers to control their use of cloud resources. The subscriber must be offered a set of self-service, very rapid provisioning tools. The environment must be virtualized and hardware supplier independent.
Many of the so called cloud suppliers are offering products that don't really meet the minimum requirements to be called cloud computing. These suppliers are offering things that might be called cloud-like. Some suppliers clearly are just trying to create a fog.
Different types or expressions of cloud computing
At this point, three different approaches to cloud computing have emerged. Each, of course, is aimed at a different audience, having different needs, and may or may not relate to the others.
- Software-as-a-service (SaaS) is where an application is made available over the Web. It appears to be a client/server application in which the web browser is the client and the server(s) supporting the applicaiton are somewhere on the network.
- Platform-as-a-service (Paas) is seen as a service offered by a supplier that is based upon a set of progamatic interfaces, a set of services and an applicaiton development environment. At this point, most of these are proprietary making migration from one service to another problematic.
- Infrastructure-as-a-service (Iaas) is seen as an offering of computing and storage somewhere out on the Web. The subscriber is offered the ability to host virtual clients or virtual servers and the supporting storage in one or more of the suppliers' datacenters.
In the past few weeks, I've seen a number of suppliers try to present their service offerings as the fourth instance of cloud computing. In most cases, these services appear to be merely advisory or development consulting services. These services, of course, don't really meet the minimum requirement to be called an expression of cloud computing.
I've thought of a number of possibilities for a fourth type of cloud computing. One example would be a service that would front-end a number of cloud computing offerings allowing an automatic deployment across multiple cloud computing suppliers' environments. This apporach would support workload management, workload service level management, workload failover and the like.
How would you define the fourth type of cloud computing?