Defining a cloud

What is it exactly?
What is it exactly?

Cloud may be defined as a service that has the following attributes: Common infrastructure, Location independence, Online accessibility, Utility pricing and on-Demand resources. Let's consider a few examples that illustrate the breadth of the cloud:

  • Texting via your phone
  • Sharing photos and updates via Facebook or Twitter
  • Sending or receiving Microsoft Hotmail, Google Gmail, or Yahoo! Mail on your laptop
  • Using a collaboration service, such as WebEx, NetMeeting, or GoToMeeting
  • Watching a YouTube movie on your TV or smartphone
  • Talking on your fixed-line or mobile phone
  • Talking or video-chatting with someone using Microsoft Skype
  • Sharing files via Dropbox or Box.net
  • Streaming a Netflix movie to your Roku box, Blu-Ray player, smartphone, or tablet
  • Participating in an audio or video conference via a conferencing service that uses multipoint conference bridges located "in the cloud"
  • Using Salesforce.com or Oracle/RightNow Technologies customer relationship management capabilities to manage your accounts
  • Surfing the Web, with some content being delivered by "hosted" or cloud sites and some by content delivery services, such as Akamai
  • Shopping for music, videos, or apps at the iTunes Store or Android market
  • Storing that music in the iCloud
  • Acquiring books for your Kindle or Nook
  • Having someone send a photo to your connected digital photo frame

Some will look at this list and mostly approve but raise an eyebrow over fixed-line phones, assuming that it must be an error, because those are so, well, last millennium.

But it is hard to draw clear boundaries between a Voice over Internet Protocol (VoIP, or Voice over IP) connection over Wi-Fi, and one over a wired cable, and one that uses traditional circuit-switched copper wires to access a Voice over IP core, and a pure legacy plain old telephone service (POTS) connection.

Ten years from now, some other technology might be in use. But none of this should matter. The point is that there is some service being offered "out there somewhere" that does something useful, in this case, connecting and switching or routing calls. But, in addition to these human-centric scenarios, we can also include device-centric ones where a variety of endpoints connect to the cloud:

  • Video surveillance cameras feeding live video to a cloud-based video archiving service for enhanced security
  • Patient monitoring devices that continuously monitor blood pressure and pulse and feed it to a tele-health service
  • Electric utility smart grids, where use of power-hungry devices such as air conditioners, washing machines, dryers, and dishwashers is monitored remotely and controlled in connection with grid load in accordance with policies
  • Farms that monitor environmental status, such as temperature and rainfall, to ensure that crops receive exactly as much irrigation as they require

And let us not forget other devices, appliances, and equipment that may connect to the cloud:

  • Servers running applications that link to cloud servers running the same or interoperable applications
  • Storage, such as a local hard drive that links to cloud storage for either data protection or data distribution reasons

Defining the Cloud

As Bloomberg Businessweek's Ashlee Vance quipped, "The 'cloud' refers to the amorphous, out-of-sight, out-of-mind mess of computer tasks that happen on someone else's equipment. For the past five years or so the cloud has been hyped by companies to mean anything that happens on the Web, which is how 'cloud computing' came to rival 'social networking' in overuse."

Although there are literally dozens or perhaps hundreds of definitions of cloud services that attempt to capture the essence of the examples just listed and Vance's quip, one that seems to have gained traction is the definition from the National Institute of Standards and Technology (NIST), locked down after 15 iterations:

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

Further, NIST defines five major attributes: on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service.

The NIST definition is quite an achievement of both semantics and compromise among a variety of constituencies. For example, it refers to "broad network access" rather than specifying a particular network technology, such as the Internet.

However, I would argue that it is semantically equivalent to a simpler definition I devised a few years ago, which is a mnemonic not restricted to computing, based on cross-domain, relevant, quantifiable, economic characteristics.

As mentioned earlier a Cloud, may be defined as a service that has the following attributes:

  1. Common infrastructure
  2. Location independence
  3. Online accessibility
  4. Utility pricing
  5. on-Demand resources

Conveniently, this spells out an easily memorized acronym: C.L.O.U.D. These may at first glance seem like five unrelated attributes, but they all tie together in an integrated business model.

Unlike inherent limitations associated with fixed resources via ownership, on-demand resources provide for nearly unlimited scalability. Your house has only a few rooms. All the hotels in your city have quite a few. Of course, if the resources have zero marginal cost—if they are free or flat rate—then customers would be wasteful. Consequently, utility pricing (i.e., usage-sensitive charging) is essential to ensure economically

rational use. Such on-demand resources with utility pricing can be economically viable only if they are allocated out of a shared pool. Sharing can occur only if the resources are available regardless of location. And, if such sharing is to occur, there must be a network allowing access to resources from whichever location the customer happens to be. It all fits together.

Elsewhere I've shown that this definition can be rigorously specified, axiomatically, from the foundations of mathematics, and that there are interesting problems in computational complexity arising from the cloud, but such discussion is well beyond the scope of this book.