Ceci n'est Pas un Nuage (This is not a Cloud)

There seems to be a widespread acceptance within the industry that the Cloud, to borrow a phrase from famed author Michael Lewis, is the "New New Thing" in Enterprise Computing. I generally subscribe to this view, although I think the term "Thing" in Lewis' phrase is particularly apt in this instance. The irony, as I see it, is that we have not as yet truly defined what the Cloud means, and, as such, Cloud Computing continues to be one of the most mis-used terms in IT today.


I believe we are still very much in a phase where basic definitions are still being written. I take as evidence a recent survey that was done by one of the major research houses that posed a question to nearly 2,000 companies asking which public cloud computing providers they currently use. The number one company that respondents cited was IBM. IBM, incidentally, did not have a public cloud computing platform at the time of the survey (putting aside Blue Cloud, which was and still is predominantly used as test bed and managed hosting infrastructure for IBM's enterprise clients). Nor did Microsoft, which similarly was cited in the top 5. Azure, Microsoft's Cloud Computing Platform, had not yet been released at the time of the survey, so I question how one could have "used it"? The answer is that you couldn't.


This same survey asked companies how they are currently using public cloud platforms. The number one response to this question was Internet Application Hosting. The second was Databases, followed by Disaster Recovery and Remote Storage. I would argue that, with the possible exception of application hosting, none of these are truly leveraging public cloud infrastructure.


Contrary to popular belief, the Cloud is not the Internet, nor is it SaaS. It is not Utility or Grid Computing. And it is most certainly not Managed Hosting or Co-location. It is much broader than these concepts and far more powerful. Cloud Computing in its purest form encapsulates the notion that compute power, the network, and storage are abstracted away from the underlying hardware and delivered as-a-service, on-demand. Simply hosting an internal e-mail server or a database, whether on-premise or in a hosted datacenter, is not Cloud Computing, but rather simply an application hosting and delivery framework. Remote storage is simply that; granted, it may leverage a distributed computing architecture, just not necessarily a Cloud Computing one.


In my view in order for a computing architecture to be a "Cloud", it needs to have certain characteristics, outlined as follows:
  • It must be virtualized. The rise of Cloud Computing did not coincide with the rapid adoption of virtualization technology by accident. Quite the contrary, virtualization enables and catalyzes the adoption of cloud computing. Only by abstracting the hardware from the software can compute, storage and networking resources be pooled and delivered as a service. Virtualization enables this to happen and, as such, is a precursor to true Cloud architectures and services.
  • It must be automated. A clear advantage of Cloud computing is that it facilitates the pooling of hardware resources and execution of workloads on-demand. One does not need to know the details of how a workload is executed, merely that it is. Under the hood, workloads, executed in Virtual Machines, may be executed on a single server or many, may be running on one SAN or multiple arrays, all the while leveraging a networked infrastructure to optimize computing tasks. A key element here is the notion of workload automation and optimization; in essence, that the underlying infrastructure is tuned and "intelligent" enough to self-correct and automate computing functions, such as VM migration, network optimization, provisioning, configuration, and lifecycle management, without manual intervention.
  • It must be delivered as a service. Central to the Cloud Computing model is the notion of services-orientation. To use the analogy of the electric grid, we do not necessarily need to know how the computing power is generated or even where it comes from, only that we are able to "plug in" to the network and begin using Cloud-enabled applications, platforms, and infrastructure. Part of the thesis here, once again, is that Cloud services are delivered over an IP network, analagous to the electric grid. That network could be inside the firewall, as in the case of Private clouds, or outside of it, in the case of Public ones. Regardless of the deployment model, Cloud-enabled workloads must be executed on-demand in a services framework.
  • It must leverage centralized computing resources. Central to the Cloud Computing model is the idea that the execution of workloads happens centrally, within the datacenter. This is a dramatic departure from the client-server model whereby workloads are executed locally, on either the desktop or in a branch office. By centralizing workload execution, in theory, you should be able to realize higher utilization rates and manage execution more efficiently. This does not mean that all execution must happen in a centrally-located datacenter. To the contrary, workload execution often happens in a distributed manner, much of it at the edge of the network (i.e. through platforms such as Akamai's EdgePlatform). Nonetheless, centralized computing resources, whether at the edge or the core of the network, must be leveraged for a true Cloud Computing architecture to be in effect.
In mis-using the term Cloud Computing and misunderstanding its implications, Companies run the risk of missing the many, significant opportunities the trend presents. I have had a number of conversations with companies recently during which they describe Cloud "roadmaps" encapsulating their vision of Cloud Computing and how their current or prospective products play into it. While sensible from a corporate planning and strategy perspective, more often than not these roadmaps are simply last year's strategic plan with the latest buzzword attached. Five years ago that buzzword may have been SOA or Grid Computing, this year it's the Cloud. The roadmap hasn't changed, only the marketing.


This is dangerous in my view. The issue for companies is that the Cloud truly does fundamentally change computing architectures, and opens new opportunities both to leverage and create new Cloud services. While it may be convenient for a company to make the claim that its products are a play on Cloud Computing simply because they touch a network or help enable a datacenter, it is simply not that easy. This is different than previous infrastructure computing shifts - the transition to x86, blade servers, grid and utility computing, etc. were largely about packing more compute power into a smaller footprint. Cloud computing, beyond the obvious gains in utilization and improvement in costs, is more about improved management, automation, and optimization, as well as offering a framework for networked, collaborative, internet-based applications that are far more powerful than those offered in a static client-server world. Companies need to understand how the Cloud will impact fundamental computing architectures before they can truly change their underlying business model to take advantage of this powerful trend.