Defining Cloud Computing
Let’s start the first module with trying to understand and define the term Cloud Computing in its details. It is comprised of two words – Cloud and Computing. So simply put it is computing that you can offer on the cloud. What’s the Cloud referred here? The term "cloud" is used as a metaphor for the Internet, based on the cloud drawing used in the past to represent the network. The computing could be any goal-oriented activity requiring, benefiting from the usage of Information Technology that includes hardware and software systems used for a wide range of purposes; processing, structuring, and managing various kinds of information;
There are several definitions that you can find on the web for cloud computing.
National Institute of Standards and Technology (NIST), Information Technology Laboratory has been promoting the effective and secure use of cloud computing technology within government and industry by providing technical guidance and promoting standards.
NIST Definition - Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Wikipedia - Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.
Internet-based computing was always available. So what’s different now? The different is Cloud computing is a paradigm shift. Cloud computing is a new consumption and delivery model inspired by consumer internet services. Cloud computing is still an evolving paradigm. But in general most of the companies involved with cloud have agreed on certain general characteristics or essentials that qualify any internet-based computing to be referred to as a cloud. They are the following
On-demand self-service - A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed without requiring human interaction with each service’s provider.
Ubiquitous network access - Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
Location independent resource pooling - The provider’s computing resources are pooled to serve all consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. The customer generally has no control or knowledge over the exact location of the provided resources. Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.
Rapid elasticity - Capabilities can be rapidly and elastically provisioned to quickly scale up and rapidly released to quickly scale down. To the consumer, the capabilities available for rent often appear to be infinite and can be purchased in any quantity at any time.
Pay per use - Capabilities are charged using a metered, fee-for-service, or advertising based billing model to promote optimization of resource use. Examples are measuring the storage, bandwidth, and computing resources consumed and charging for the number of active user accounts per month. Clouds within an organization accrue cost between business units and may or may not use actual currency.
The intent of this blog is not to duplicate the content from other web sites into this article. But provide a means to navigate through a variety of resources that are available and take a structured approach to understanding the term. Once we have understood this basic definition, let’s look at other resources for further reading.
The best first stop for getting started with some basis is the cloud computing zone on IBM Developerworks. There is a specific section called New to Cloud that discusses some of the frequently asked questions.
· What is Cloud Computing?
· Is Cloud Computing same as Software-as-a-Service?
· Where can I learn more about Cloud Computing?
· What types of application can run in the Cloud?
Cloud Computing Primer - Part 1 – This white paper recommended as one of the resources for the Cloud Computing Certification discusses the definition in detail. Beyond the definition, it discusses the cloud computing context and how is it different from current hosted services. Virtualization plays a key role for meeting some of the characteristics of cloud like Elasticity and Scalability, Workload Migration and Resiliency. This article discusses Virtualization and its effect on cloud is computing. The article further tries to burst some common myths about cloud computing like
- Cloud computing should satisfy all the requirements specified: scalability, on demand, pay per use, resilience, multitenancy, and workload migration.
- Cloud computing is useful only if you are outsourcing your IT functions to an external service provider.
- Cloud computing requires virtualization
- Cloud computing requires you to expose your data to the outside world.
- Converged networks are essential to cloud computing
To get an overview best is to start with these excellent 3 to 4 minute videos on introduction to the basics of cloud computing from common craft and rPath – Cloud Computing in Plain English and Cloud Computing Plain and Simple. Cloud Computing Explained is another simple video that explains Cloud Computing in a way that everyone can understand! You can find many videos on Youtube if you search for cloud computing. But the best that I liked is this one where a Dad is explaining Cow computing – I mean Cloud Computing to his daughter. Check it out.
Slide share is another good place where I found there are some very interesting presentations on cloud.
The best way to learn I feel is learning together. That’s the power of communities. We can collectively learn from each other. So I would suggest all of you (if not already) to join the Cloud Computing Central as well as the IBM Cloud Computing Community.
Finally what better way to discuss this topic - Enjoy this song (parody) by Loose Bruce and get the complete essence of What’s Cloud Computing.