Part of my job involves inducting people to Cloud or Cloud Computing. Though most my work specifically revolves around the Amazon Web Services and other IaaS stuff, there is one question that is constantly asked , “What is Cloud?”. This has recurred too many times that I have tried to answer it too many ways.
Every time I answer it I actually end up answering, “How do YOU define Cloud?” rather than, “What is Cloud?”. And I am convinced that “What is Cloud?” cannot actually be answered, just like “Whats is Divinity”. Though Cloud is more accessible than Divinity; today on the technological horizon Cloud demands the same status.
But through all my definitions of the Cloud three points standout just like the Holy Trinity: Accessibility, Self Service and Scalability. And from my experience I have kinda convinced each of these are different but no different. So I will kinda do some word play here to see if I can truly bring out the spirit of what I am thinking.
NOTE: In most cases where I say “Cloud” it actually is “Some Wannabe Cloud Service”.
Accessibility for me is THE most important aspect of the Cloud. Something to qualify as the a Cloud it should be extremely and “undiscriminatingly” accessible. And the one protocol that has defined this kind of accessibility is HTTP and the medium that carries it, is the Internet.
For me the Internet is kinda extreme, for the its nature of sheer boundlessness. Only the limit of the physical technologies and economics, limits the reach of the internet. So to run a Cloud it SHOULD be accessible through the internet, and hence Private Clouds are a joke. Bottom-line is the Cloud should provide a web service that allows it to be accessible.
The other aspect the Cloud SHOULD provide is rules, and apply that “undiscriminatingly” to ALL people who agree to those rules, and no one is treated above anyone else. This is the feature I like most about most Clouds.
This is like an open kitchen limited only by your abilities to cook. This is second most important factor of being Cloud: to provide its users with the base ingredients through a well defined set of web services.
Taking extreme-accessibility and indiscrimination for granted, what user can do with these ingredients(web services) limited only by his recipe and imagination. For me with this property of Self Service is the central theme of any Cloud. This has defined the whole new genre mashable applications and termed with 2.0.
This is a child naturally born of mating the first two properties of Accessibility and Self Service. But, for the users this is transparent and for the provider this is a key ingredient to provide a Cloud.
The extreme-accessibility, indiscrimination and self service nature will mean extreme proliferation, usage and noise about that Cloud. If you do not scale to those extremities, you could be affecting user retention and experience. Every Cloud should provide this scalability.
A scalable cloud is one that provides its users transparent manner in which the Cloud is always kept running. So it encompasses words like elasticity and availability.
Though there might be other definitions out there for what Cloud is. MY definition is pretty simple. A Cloud is service that is accessible through the internet, provides the users the base web services to self service, and is extremely scalable.