We know, Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services are 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.
Coud computing is not a technology but a model of provision and marketing IT services that meet certain characteristics.
Cloud is all about computer services, not products:
* The infrastructure is shared. Multiple clients share a common technology platform and even a single application instance.
* The services are accessed on demand in units that vary by service. Units can be, for example, user, capacity, transaction or any combination thereof.
* Services are scalable. From the user's point of view, services are flexible; there are no limits to growth.
* The pricing model is by consumption. Instead of paying the fixed costs of a service sized to handle peak usage, you pay a variable cost per unit consumption (users, transactions, capacity, etc.) that is measured in time periods that can vary, such as hour or month.
* Services can be accessed from anywhere in the world by multiple devices. The cloud model leads to basically two different kinds of clouds: private and public. The public clouds are those that offer IT services to any customer over the Internet. Private clouds offer IT services to a predefined group of customers, with access through Internet or private networks. You might have also heard about internal and external clouds. The former are a subgroup of the private clouds, and provide services within the same company or corporate group. The latter may be public or private and provide services to other companies.
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 virtualization 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. (Currently, Amazon Web Services is the largest public cloud provider.) A private cloud is a proprietary network or a data center 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 like Amazon Web Services provides virtual server instanceAPI) to start, stop, access and configure their virtual servers and storage. 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 in the cloud is defined as a set of software and product development tools hosted on the provider's infrastructure. Developers create applications on the provider's platform over the Internet. PaaS providers may use APIs, website portals or gateway software installed on the customer's computer. Force.com, (an outgrowth of Salesforce.com) and GoogleApps are examples of PaaS. Developers need to know that currently, there are not standards for interoperability or data portability in the cloud. Some providers will not allow software created by their customers to be moved off the provider's platform.
In the software-as-a-service cloud model, the vendor supplies the hardware infrastructure, the software product and interacts with the user through a front-end portal. SaaS is a very broad market. Services can be anything from Web-based email to inventory control and database processing. Because the service provider hosts both the application and the data, the end user is free to use the service from anywhere.