Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Defining Cloud Computing

Defining Cloud Computing

This item in japanese

The term "cloud computing" has shown up everywhere from the Web 2.0 conference to the enterprise architecture whiteboard sessions in big companies to the laptops of startup developers. The big question being asked now is "what is cloud computing?"

Like many things in technology and computer-related fields, the answers to this question are as varied as the people asked. Rod Boothby interviewed several people at the Web 2.0 Expo and produced a video with their responses. Kevin Marks, head evangelist for Google's OpenSocial, explained the progression of abstraction from the network cloud around packets to the World Wide Web cloud round documents to the computing cloud around interactions. In each case, the cloud provided an abstraction of some part of the environment such that the user didn't have to perceive nor care about it. Dan Farber, editor in chief of CNET NEWS, said that the cloud is currently a storage place for data and applications and that it will move to being "like electricity" in its accessibility to developers and users alike. Other opinions on cloud computing ranged from what it will provide, e.g. ease of use, ease of deployment, ease of operations, to what it is not, e.g. installed software, specific platforms.

Linda Tucci used RAID as an analogy to try to explain cloud computing. Tucci emphasized the price component in cloud computing with the analogy:
When the first patents for this revolutionary concept were filed by IBM in 1977, the focus was on performance, not cost. Ten years later it became apparent that an array of consumer-grade "crap disks" could deliver better reliability and performance than standalone disks at dramatically lower costs. So much cheaper, in fact, that when enough parts failed, the array was "pushed out the back door" and dumped.
David Young introduced what he called a "Specification for a Cloud Computer" in which he listed 9 features that make up Platform as a Service (PaaS) cloud computing. Young's features are:
  1. Virtualization Layer Network Stability
  2. API for Creation, Deletion, Cloning of Instances
  3. Application Layer Interoperability
  4. State Layer Interoperability
  5. Application Services
  6. Automatic Scale
  7. Hardware Load Balancing
  8. Storage as a Service
  9. Root access, If Required
Several others have attacked the task of defining cloud computing by discussing what things are not cloud computing.

James Governor distilled the thoughts of several people in to a "Top 15" list of ways to tell it's not cloud computing. Some of Governor's points were that cloud computing does not need to install software on your machine, does not need you to have a specific OS, is not the same as "grid computing", and does not require you to purchase server hardware. Tony McCune also listed three exclusion criteria for cloud computing. His list excludes simple web portals, just using virtualization, and Microsoft's Mesh. Following these criteria, McCune provided his list of cloud computing technology candidates
1. The portable Web - deployable widgets, portlets or other elements that are built on top of Adobe Air, Google Gears or even (big throw back) a Java applet. These computing elements can be designed to serve a specific computing function and be deployed across multiple platforms without concern for the underlaying infrastructure.

2. Autonomic virtualized clouds - Amazon Web Services, Microsoft SSDS (when it actually happens) or VMWare based solutions for computing or storage in an on-demand configuration that provides utility computing from a Web connection.

3. Virtual Application Servers - Google Apps Engine is a great example of where Cloud Computing is going. The Google implementation on Python with it's limited API will not draw enterprise customers but it does give us the first working "appserver in the cloud". Where Google shines in this regard is simplicity. Relatively lower skilled programmers can quickly develop working applications without any concern for the underlying implementation of the services they are using.
Joe McKendrick brought some criticism of the cloud computing paradigm to light. McKendrick pointed out statements from Nick Carr about how international political boundaries (e.g. UK's Regulation of Investigatory Powers Act and China's 'firewall') inhibit the use of true cloud computing.

Boothby summed up the answers he got to the question with this, "The more important question isn't so much 'What is Cloud Computing?' but instead, now that it's here, what are you going to build?"

Rate this Article