To answer this question, all you really need to know is what the buzzword “cloud” means. The above article refers to the cloud as a metaphor for the Internet. Personally, I do not think this is an accurate characterization of cloud computing. Rather, I think the cloud, and thus cloud computing, can be more clearly described as follows.
The cloud can be divided into four primary types:
- Public – a cloud that employs the Internet and is available to all
- Community – essentially a public cloud for a limited number of groups and that may employ only a WAN
- Private – an in-house cloud for a single group and that may only employ a LAN
- Hybrid – a combination of public and private clouds that may leverage the ability to transfer data between the two (ex. federation)
Both public and hybrid clouds require the use of the Internet, thus comporting with the notion that the Internet is intrinsic to the cloud. However, to be useful, community and private clouds only require network connectivity (ex. LAN or WAN) and while many may utilize the Internet, most do not require or leverage it to the extent of public or hybrid clouds. As such, the term “cloud” would be better described as a network-based transport layer in which communication takes place over a network connection.
In addition to understanding what cloud is not or not always (i.e. Internet-based), one must also realize there are several fundamental characteristics that should be adopted and made universal to all cloud initiatives. These characteristics include being:
- Network based
- Abstract from infrastructure
- Dynamically scalable
- Completely virtualized
- Fully automated
- Available either as a service or as a product
I know that these characteristics differ today from cloud to cloud and company to company. However, to have a cloud that enables the maximum efficiency from the business and software engineering perspectives, you need to apply the aforementioned fundamentals. I believe they define not only the current trend of cloud computing, but the future direction of the cloud.
The definition of a new technology is not only flexible, but malleable. In cases such as cloud computing, the definition is complicated because of the complex nature of the term being defined. It will be interesting to see how the definition develops over the next couple of years and how my colleagues in the field and I help to shape it. I can only hope that the fundamental characteristics I laid out above make it into the definition.
© 2010, Steve Flanders. All rights reserved.