Cloud Computing Service Model The term services in cloud computing are the concept of being able to use reusable

Cloud Computing Service Model
The term services in cloud computing are the concept of being able to use reusable, fine-grained components across a vendor’s network. This is widely known as “as a service.” Cloud providers are using different service delivery models which can be differentiated based on the level of virtualization they offer, there are mainly three service delivery models; such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). These three models together constitute as SPI Model where S stands for Software, P stands for Platform and I stand for Infrastructure. (Sosinsky, 2011), briefly explain the cloud computing service delivery models in his book, “The cloud computing bible”. These models are Infrastructure as – a – service (IaaS), Platform as- a- Service (PaaS) and Software as- a- Service (SaaS).
Infrastructure as a Service (IaaS) is a cloud computing service model in which hardware is virtualized in the cloud. In this particular model, the service vendor owns the equipment: servers, storage, network infrastructure, and so forth. The developer creates virtual hardware on which to develop applications and services. Essentially, an IaaS vendor has created a hardware utility service where the user requested virtual resources as required. When the client interacts with an IaaS service and requests resources from the virtual systems, those requests are redirected to the real servers that do the actual work.
The Platform as a Service model describes a software environment in which a developer can create customized solutions within the context of the development tools that the platform provides. Platforms can be based on specific types of development languages, application frameworks, or other constructs. A PaaS offering provides the tools and development environment to deploy applications on another vendor’s application. Often a PaaS tool is a fully integrated development environment; that is, all the tools and services are part of the PaaS service. To be useful as a cloud computing offering, PaaS systems must offer a way to create user interfaces and thus support standards such as HTML, JavaScript, or other rich media technologies. In a PaaS model, customers may interact with the software to enter and retrieve data, perform actions, get results, and to the degree that the vendor allows it, customize the platform involved. The customer takes no responsibility for maintaining the hardware, the software, or the development of the applications and is responsible only for his interaction with the platform. The vendor is responsible for all the operational aspects of the service, for maintenance, and for managing the product(s) lifecycle.
The difficulty with PaaS is that it locks the developer and the customer into a solution that is dependent upon the platform vendor. An application written in Python against Google’s API using the Google App Engine is likely to work only in that environment. There is considerable vendor lock-in associated with a PaaS solution.
A complete cloud computing service model is one in which the computing hardware and software, as well as the solution itself, are provided by a vendor as a complete service offering. It is referred to as the Software as a Service (SaaS) model. SaaS provides the complete infrastructure, software, and solution stack as the service offering. A good way to think about SaaS is that it is the cloud-based equivalent of shrink-wrapped software. Software as a Service (SaaS) may be succinctly described as software that is deployed on a hosted service and can be accessed globally over the Internet, most often in a browser. With the exception of the user interaction with the software, all other aspects of the service are abstracted away. The table below shows that the summary of service delivery models