The University of California at Berkeley's RAD Lab, short for Reliable Adaptive Distributed Systems, has been studying the technologies and logistics of on-demand computing at high scale for about three years.
According to a 2006 Wall Street Journal article, the lab is focused on studying large-scale utility-computing infrastructures. With the backing of many of the largest companies in enterprise computing, many have been waiting anxiously to see what advances they contribute to cloud computing.
On February 12, the lab published a paper titled "Above the Clouds: A Berkeley View of Cloud Computing" (PDF), authored by Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and Matei Zaharia. Intended as a broad road map for the future of cloud computing, the paper makes recommendations about everything from business models to hardware design to required software infrastructure.
The paper begins by setting a definition of cloud computing that will be considered controversial by many, as it is firmly in the "there is no cloud computing inside enterprise data centers" camp:
Cloud computing refers to both the applications delivered as services over the Internet, and the hardware and systems software in the data centers that provide those services. The services themselves have long been referred to as software as a service (SaaS).
The data center hardware and software is what we will call a cloud. When a cloud is made available in a pay-as-you-go manner to the general public, we call it a public cloud; the service being sold is utility computing.
We use the term private cloud to refer to internal data centers of a business or other organization, not made available to the general public. Thus, cloud computing is the sum of SaaS and utility computing, but does not include private clouds.
The researchers go a little further, however, and describe the hardware of cloud computing not in terms of technology, but in terms of a business model:
From a hardware point of view, three aspects are new in cloud computing.
- The illusion of infinite computing resources available on demand, thereby eliminating the need for cloud computing users to plan far ahead for provisioning.
- The elimination of an upfront commitment by cloud users, thereby allowing companies to start small and increase hardware resources only when there is an increase in their needs.
- The ability to pay for use of computing resources on a short-term basis as needed (e.g., processors by the hour and storage by the day) and release them as needed, thereby rewarding conservation by letting machines and storage go when they are no longer useful.
The paper's authors then go on to make a variety of claims based on this definition of cloud computing. One highlight is an interesting table describing 10 obstacles to the success of cloud computing, and the opportunities they create:
I recommend reading the paper, also available on the "Above the Cloud" blog which will apparently be a destination for further insights from the lab. EE Times has an article that also gives a decent overview of the paper's contents.
Reaction to the paper so far has been decidedly mixed. Pleased as punch are the O'Reilly Radar's Artur Bergman and others, who see the paper as providing much needed terminology, noting "the paper succinctly brings together software as a service with utility computing to come up with a workable definition of cloud computing".
On the other end of the spectrum, however, are several people who studied cloud computing as a market for some time. Among them is the always outspoken Reuven Cohen, who suggests that perhaps the authors were trying to turn the subjective into the objective:
In reading this paper, it occurred to me that the very nature of cloud computing, like the Internet itself is based on that of subjectivity or a particular subject's perspective, particularly feelings, beliefs, and desires to drive their own view point/agenda. This seems to be particularly true in the academic views of cloud computing recently.
My cursory, decidedly unscientific survey of "cloud-o-sphere" shows that those deeply involved with cloud computing who read the paper had decidedly mixed feelings about it (myself included), while those simply interested in cutting through the morass of cloud definitions and offerings generally were grateful for its content.
Krishna Sankar (a very smart engineer at Cisco Systems) may have best summarized my own thoughts in his post, A Berkeley View Of Cloud Computing : An Analysis--the good, the bad, and the ugly:
- As an undergrad work on cloud computing, the paper gets an A+. But as a position paper from eminent academics, I can only give a C-. Granted, it correctly identifies many of the trends and obstacles. But that material is widely available!
- With a title "A Berkeley view of cloud computing," the report misses the point. "A Berkeley observation..." is more like it--view requires original thinking and interpolation, which the report lacks.
Furthermore, what I find remarkable about the paper is what is not included. No mention of the SPI model, the standardization of any existing APIs (e.g. GoGrid's open APIs or the Amazon AWS APIs), and the only mention of Eucalyptus (a fellow UC system project, nonetheless) is briefly in the footnotes.
There are no prominent bloggers mentioned except Nick Carr (who is hardly defining the technology of the space), a scant few references to some vendor materials, and none of the existing interoperability consortiums are mentioned at all (e.g. CCIF, OCC, etc.).
I'd like to thank the "Above the Clouds" authors for what is obviously hours and hours of work. There is much value in the paper, and I plan to reread it a couple times to better internalize its lessons. That being said, there is a tremendous amount of brilliant thinking out there in blogs, forums, wikis and conference presentations.
I welcome Armburst et al to reach out and actively participate in the open conversation. We will, rest assured, listen very closely to what you have to say. All we ask is that you do the same in return.
You can follow James Urquhart on Twitter.