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 are rapidly provisioned and released with minimal management effort or service provider interaction.
That’s quite a mouthful, so let’s look at the definition in a bit more detail.
For a system to be considered a cloud, it must have the following characteristics:
A consumer can get computing capabilities (storage, memory, etc.) for herself without human intervention from the provider.
- Broad network access
Computing capabilities are available over the network and accessed through standard mechanisms that allow use by different clients.
- Resource pooling
The computing capabilities are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
- Rapid elasticity
Computing capabilities can be rapidly and elastically provisioned, sometimes even automatically, to quickly scale out; and rapidly released to quickly scale in. To the consumer, capabilities seem to be unlimited and can be purchased in any quantity at any time.
- Measured service
The usage of computing capabilities is monitored, controlled, and reported to allow optimization of resources and to provide transparency for both consumer and provider.
Even though neither the definition of cloud nor the essential characteristics mention virtualization, this technique is essential for building an efficient cloud.
|Next: On-demand Self-service|