Let It Rain and other poor (cloud) metaphors
Instead of cloud how about rain? No, no. Maybe ether? Blast, that’s taken. Ambrosia! Yes that’s it. Ambrosia services. But what are ambrosia services? That’s the same question we should ask about the cloud (I know, I know I succumbed, and rather quickly at that). I do not purport to be able to answer what the heck the cloud is. And as any who have read my work knows, I tend to eschew definitions and prefer systemic approaches to analysis. Still, categories and other tools of analysis tend to become ossified as the desire to be a Decider rises. One way to get around this impasse is to get the foundational knowledge in place and engage with experts. To help that possibility, I offer Above the Clouds: A Berkeley View of Cloud Computing. (please share other papers you may think are useful on this topic).
The professors who put this paper together are at Cal’s (can’t help it, Go Bears!) RadLab . (Google, MS, Sun, Amazon and many others support the work). One thing to note is that as with much in technology some of this 2009 paper may already be superseded or not as easily taken as accurate for a given service. I suggest going to the various authors’ work if you want to dig into the computer science behind Ambrosia, err Cloud, for any given service. Nonetheless, I think the paper is a way to get started.
Oh and as far as I can tell the phrase that we should be thinking about is distributed computing. With the help of Chris Hoofnagle, I met David Patterson who is at RadLab and drove home that there are different “cloud” offerings and that distributed computing has several advantages including in security (were you aware that it is Security Awareness Month?). The paper presents an argument about what has enabled these services to exist and what obstacles lie ahead. The closing questions show that although there may be questions common to all such services, much is to be sorted; and I think that often answers about the cloud will turn on the type of service in question.
Will Cloud Computing be dominated by low-level hardware virtual machines like Amazon EC2, intermediate language offerings like Microsoft Azure, or high-level frameworks like Google AppEngine? Or will we have many virtualization levels that match different applications? Will value-added services by independent companies like RightScale, Heroku, or EngineYard survive in Utility Computing, or will the successful services be entirely co-opted by the Cloud providers? If they do consolidate to a single virtualization layer, will multiple companies embrace a common standard? Will this lead to a race to the bottom in pricing so that it’s unattractive to become a Cloud Computing provider, or will they differentiate in services or quality to maintain margins?
For those wondering why a group of professors are so interested in this area, I offer their vision of innovation and possibility and hope that we sort the obstacles so that we can realize this view:
Although large-scale Internet services such as eBay and Google Maps have revolutionized the Web, today it takes a large organization with tremendous resources to turn a prototype or idea into a robust distributed service that can be relied on by millions.
Our vision is to enable one person to invent and run the next revolutionary IT service, operationally expressing a new business idea as a multi-million-user service over the course of a long weekend. By doing so we hope to enable an Internet “Fortune 1 million”.
These are my views. Not Google’s. In other words, attribution to my employer is foolish.