I read a lot of articles on technology and it always amazes me the degree of heated debate that goes on in the blogosphere, social media and elsewhere over simple definitions. What caught my attention today was the number of posts and comments on Twitter about what was or was not Cloud.
So the question is: What is Cloud?
The reality is there is no agreement on this point, so I offer up my own view on this matter for debate. Feel free to flame away.
The Paul Michaud Definition of Cloud Computing
Any application which can be deployed and scaled (preferably dynamically) against a, potentially globally, distributed cluster of, homogeneous or heterogeneous, compute resources is a Cloud based application.
So what’s my point? The point is that almost anything is potentially Cloud based by that definition. Let’s look at some examples that were being tossed about today on Twitter and the Blogosphere.
- JPMC’s internal server cluster
- Google’s Cluster
- Facebook’s Clusters
James Watters in his “Not So Fast Public Cloud: Big Players Still Run Privately” contends that’s JPMC’s cluster of servers represent an internal Cloud. James then took some heat from others claiming that a dedicated internal cluster is not Cloud. The argument then extended to bring in Google and the argument was that it is also a dedicated internal cluster and not cloud, but that Facebooks cluster is a Cloud because they openly admitted to using Hadoop to some extent.
For the record, I think this whole Internal Cluster/ External Cloud debate is all nonsense. To be honest all of the systems listed above are Cloud in my opinion. All of them allow for dynamic deployment of processing load against a distributed cluster of compute resources. From the perspective of the company owning the cluster, its an Internal Cloud. Once they open it up by providing a public interface into those resources, then its a public cloud resource from the standpoint of an external user of those resources.
Cloud is not the sole property of our latest Web 2.0 startups. It’s not a function of some particular piece of software that we collectively decide is “Cloud” like Hadoop. Cloud is a design pattern and a business choice to allow us to take advantage of vast compute resources of all kinds in a more dynamic, efficient and cost effective manner, period. Furthermore, to effectively use Cloud resources I think you ideally need to be SOA.
Let the Flaming begin.
(Guest post by Paul Michaud, Global Executive IT Architect for the Financial Markets sector at IBM. Paul blogs @ Technology Musings)