“Nature is a mutable cloud which is always and never the same.” – Ralph Waldo Emerson
It’s tough to talk about clouds until we have a simple, working definition. While ramping for Azure Security guidance, we defined the cloud as follows:
A cloud is a managed infrastructure providing network, compute, and storage capabilities. It has the following 3 key characteristics:
- Managed / abstracted infrastructure
- Elastic resources
- Pay-for-play / utility computing
This simple frame helps us identify what is cloud, and what is not.
That’s not the only definition in town though. Here are a few others that I found useful …
Berkeley Cloud Definition
In Above the Clouds: A Berkeley View of Cloud Computing, U.C. Berkeley Reliable Adaptive Distributed Systems Laboratory define the cloud as follows:
“Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services. … From a hardware point of view, three aspects are new in Cloud Computing.
- The illusion of infinite computing resources available on demand …
users to plan far ahead for provisioning.
- The elimination of an up-front commitment by Cloud users …
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 …”
In A Break in the Clouds: Towards a Cloud Definition
In A Break in the Clouds: Towards a Cloud Definition, Vaquero et al define cloud as follows:
“Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re-configured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-
per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs.”
What’s your working definition of “cloud” that you’ve found helpful?