Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services can be broadly divided into three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS). The name cloud computing was inspired by the cloud symbol that's often used to represent the Internet in flowcharts and diagrams.
A cloud service has three distinct characteristics that differentiate it from traditional hosting. It is sold on demand, typically by the minute or the hour; it is elastic (a user can have as much or as little of a service as they want at any given time), and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access). Significant innovations in virtualisation and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing.
A cloud can be private or public. A public cloud sells services to anyone on the Internet. A private cloud is a proprietary network or a data centre that supplies hosted services to a limited number of people. When a service provider uses public cloud resources to create their private cloud, the result is called a virtual private cloud. Private or public, the goal of cloud computing is to provide easy, scalable access to computing resources and IT services.
Infrastructure as a Service (Iaas)
IaaS is basically delivering virtual hardware to you similar to if you went out and bought the hardware yourself. However you are just paying for what you use when you use it. You can increase and decrease the amount of virtual hardware you are using at any time without having to go out and purchase new equipment. This means that you can start small and have it increase as you grow. Or increase capacity for short periods when you expect there to be higher than normal load. In the enterprise, cloud computing allows a company to pay for only as much capacity as is needed, and bring more online as soon as required. Because this pay-for-what-you-use model resembles the way electricity, fuel and water are consumed, it's sometimes referred to as utility computing.
Platform as a Service (PaaS)
PaaS in the cloud is defined as a set of software and product development tools hosted on the provider's infrastructure. Developers create and deploy applications on the provider's platform over the Internet. Force.com, (an outgrowth of Salesforce.com) and GoogleApps are examples of PaaS. Currently there are not standards for interoperability or data portability for PaaS. Most providers will not allow software created by their customers to be moved off the provider's platform.
Software as a Service (SaaS)