Source: Salesforce.com, Wikipedia, HP.com, venturebeat.com, techtarget.com, whatis.com, Ian Foster, Yong Zhao, Ioan Raicu, Shiyong Lu,
Currently companies developing software are forced to maintain their own hardware and software to develop and host the application leading to huge upfront costs. In a cloud scenario, computing resources (hardware and software) are delivered as a service over a network (typically the Internet), which makes it possible for companies to contemplate which computing assets are suitable to be sourced in a cloud model and which ones will continue to be delivered in the traditional model. This approach saves costs, and increases efficiency.
Cloud Computing is a large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.
1. IAAS: Infrastructure as a Service
2. PAAS: Platform as a Service
3. SAAS: Software as a Service
4. STaaS: Storage as a Service
5. SECaaS: Security as a Service
6. DaaS: Data as a Service
7. DBSaaS: DataBase as a Service
8. TEaaS: Test Environment as a Service
Example: Amazon, Microsoft, VMWare, Rackspace, Red Hat, etc.
2. PAAS: Platform as a Service: Platform as a Service (PaaS) is a way to rent hardware, operating systems, storage and network capacity over the Internet. The service delivery model allows the customer to rent virtualized servers and associated services for running existing applications or developing and testing new ones.
Example: Google App Engine, Microsoft Azure, Saleforce’s Force.com, the Salesforce-owned Heroku, and Engine Yard.
3. SaaS: Software as a Service: Allows software applications to be available as a service over the internet. Any application hosted on a remote server that can be accessed over the Internet is considered a SaaS.
Example, Salesforce.com, Gmail.
How are IAAS, SAAS and PAAS Related?
These layers of cloud computing sit on top of one another. Infrastructure sits at the bottom, Platform in the middle and Software on top. Other “soft” layers can be added on top of these layers as well, with elements like cost and security extending the size and flexibility of the cloud.
How is Cloud different from Grid Computing, and Utility Computing?
Grid Computing: Grid computing (or the use of a computational grid) is applying the resources of many computers in a network to a single problem at the same time - usually to a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data. A well-known example of grid computing in the public domain is the on-going SETI (Search for Extra-terrestrial Intelligence) @Home project in which thousands of people are sharing the unused processor cycles of their PCs in the vast search for signs of "rational" signals from outer space.
Utility Computing: it is a business model in which computing resources, such as computation and storage, are packaged as metered services similar to a physical public utility, such as electricity and public switched telephone network. Utility computing is typically implemented using other computing infrastructure (e.g. Grids) with additional accounting and monitoring services. A Cloud infrastructure can be utilized internally by a company or exposed to the public as utility computing.
Grids, Clouds, etc.: How they compare with one another?
Benefits:
1. On-demand; no up-front costs
2. Workforce mobility – anybody can work from anywhere
3. No need for license costs; pay as you go.
Disadvantages
1. User has no control on the software upkeep, and is entirely dependent on the Cloud service provider for troubleshooting and managing.
2. Privacy and confidentiality of data.