Cloud computing is typically divided into three levels of service offerings as showed in Fig. 2:Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a service (IaaS). These levels support virtualization and management of differing levels of the solution stack.
Software as a Service
This is the idea that someone can offer you a hosted set of software (running on a platform and infrastructure) that you don’t own but pay for some element of utilization – by the user, or some other kind of consumption basis. Here you don’t have to do any development or programming, but you may need to come in and configure the (very flexible, configurable and sometimes customizable) software. You don’t have to purchase anything. You just pay for what you use. ASaaS provider typically hosts and manages a given application in their own data center and makes it available to multiple tenants and users over the Web. Some SaaS providers run on another cloud provider’s PaaS or IaaS service offerings. Oracle CRM on Demand, Salesforce.com, and Netsuite are some of the well known SaaS examples.
Platform as a Service
This is the idea that someone can provide the hardware (as in IaaS) plus a certain amount of application software – such as integration into a common set of programming functions or databases as a foundation upon which you can build your application. Platform as a Service (PaaS) is an application development and deployment platform delivered as a service to developers over the Web. It facilitates development and deployment of applications without the cost and complexity of buying and managing the underlying infrastructure, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet. This platform consists of infrastructure software, and typically includes a database, middleware and development tools. A virtualized and clustered grid computing architecture is often the basis for this infrastructure software. Some PaaS offerings have a specific programming language or API. For example, Google AppEngine is a PaaS offering where developers write in Python or Java. EngineYard is Ruby on Rails. Sometimes PaaS providers have proprietary languages like force.com from Salesforce.com and Coghead, now owned by SAP.
Infrastructure as a Service
Infrastructure as a Service (IaaS) is the delivery of hardware (server, storage and network), and associated software (operating systems virtualization technology, file system), as a service. It is an evolution of traditional hosting that does not require any long term commitment and allows users to provision resources on demand. Unlike PaaS services, the IaaS provider does very little management other than keep the data center operational and users must deploy and manage the software services themselves just the way they would in their own data center. Amazon Web Services Elastic Compute Cloud (EC2) and Secure Storage Service (S3) are examples of IaaS offerings.