Cloud Computing - A Definition by NIST

Lets try to understand what really cloud computing is all about , what are the aspects to be considered when discussing about CLOUD and what type of cloud solutions are available in the market. Well , cloud computing is not working on a laptop in a plane but its more than that.Its a model to optimize the hardware and software usage of every individual working on a computer.

Cloud computing is a complete paradigm shift from locally self owned computers to centrally pooled processing power which can be rented on demand at any time for any time.Cloud Computing changes the way organizations views IT. With this new dedicated server technology, one can simply rent the computing power your organization requires, eliminating the need to predict and invest capital in the computing needs of the organization.
Cloud is just another dimension to the world of Internet. Cloud computing is more of Internet computing or in other words, using Internet as a computing infrastructure and resource. In cloud computing, Internet is used to provide services such as File backup , data storage, running software applications, multimedia services , and email and file exchanges. So in future, the computer OS would just have a Internet browser that can stream any thing from office apps to playing music and videos to developing a software ... all in one single browser.This mechanism is known as application streaming or application virtualization.

Lets have a walk on the clouds ...
Consider a basic example – your organization is a user of Microsoft Excel  and typically would have a client-server networked environment with Excel application running off an application server and/or off numerous Microsoft Windows - based desktop PCs and laptops – collectively known as fat clients. In a cloud computing environment, your organization invests in thin clients (low cost scaled-down desktop PC and laptops) networked to the server to access a spreadsheet application from the “cloud”. In the case of an individual, if you have a broadband connection to the Internet, you can use an inexpensive laptop, for e.g. a netbook to access a spreadsheet application from the “cloud”. Furthermore, most cloud computing services for the individual would be free.

Cloud computing is a model that enables on-demand network access to a shared pool of configurable computing resources such as networks, servers, storage, applications, and services that can be rapidly provisioned and released with minimal human intervention.

Major components of Cloud include Software , Platform to Infrastructure with all three collectively serving the clients.All these allow users to run applications and store data online.
Some of the essential characteristics of Cloud Computing are : On-demand self-service , Broad Network Access , Resource pooling ( different physical and virtual resources dynamically assigned and reassigned according to consumer's demand ) , Rapid Elasticity (the ability to quickly scale with the incoming requests for resources and scale down when they are released).

Three Models of Cloud Computing :

SaaS - Software as a Service allows users to run existing applications online.Here the consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

Paas - Platform as a Service allows users to create their own applications using supplier specific tools and languages.Again like SaaS , consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.

IaaS - Infrastructure as a Service allows users to run any application of their choice on cloud hardware.This means a dedicated amount of processing power along with storage space will be allocated for the user.This is like having a computer (Virtual Machine) on the cloud and managed by cloud.The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

The below diagram should help you easily understand the difference in control with the 3 types of cloud offerings, IAAS, PAAS, SAAS ...

With Cloud Computing , there is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.