A cloud services delivery model is commonly referred to as an SPI and falls into three generally accepted services (see Figure 1).
Traditional methods of purchasing software involved the customer loading the software onto his own hardware in return for a license fee. The customer could also purchase a maintenance agreement to receive patches to the software or other support services. The customer was concerned with the compatibility of operational systems, patch installations, and compliance with license agreements.
In a Saas model, the customer does not purchase software, but rather rents it for use on a subscription or pay-per-use model. In some cases, the service is free for limited use. Typically, the purchased service is complete from a hardware, software, and support perspective. The user accesses the service through any authorized device. In some cases, preparatory work is required to establish company-specific data for the service to be fully used and potentially integrated with other applications that are not part of the Saas platform.
Key benefits of a SaaS model include the following:
Saas enables the organization to outsource the hosting and management of applications to a third party (software vendor and service provider) as a means of reducing the cost of application software licensing, servers, and other infrastructure and personnel required to host the application internally.
SaaS enables soltware vendors to control and limit use, prohibits copying and distribution, and facilitates the control of all derivative versions of their software. Saas centralized control often allows the vendor or supplier to establish an ongoing revenue stream with multiple businesses and users without preloading software in each device in an organization.,
- Applications delivery using the SaaS model typically uses the one-to-many delivery approach, with the Web as the infrastructure. An end user can access a Saas application via a web browser; some Saas vendors provide their own interface that is designed to support features that are unique to their applications.
- A typical Saas deployment does not require any hardware and can run over the existing Internet access infrastructure. Sometimes changes to firewall rules and settings may be required to allow the SaaS application to run smoothly.
- Management of a Saas application is supported by the vendor from the end user perspective, whereby a saas application can be configured using an API, but Saas applications cannot be completely customized.
A typical SaaS offering is SaaS over a public network, in which a SaaS-based application is delivered via the Internet to the organization's firewall.
In a platform-as-a-service (PaaS) model, the vendor offers a development environment to application developers, who develop applications and offer those services through the provider's platform. The provider typically develops toolkits and standards for development,and channels for distribution and payment. The provider typically receives a payment for providing the platform and the sales and distribution services. This enables rapid propagation of software applications, given the low cost of entry and the leveraging of established channels for customer acquisition.
Paas is a variation of Saas whereby the development environment is offered as a service. The developers use the building blocks of the vendor's development environment to create their own applications.
Paas solutions are development platforms for which the development tool itself is hosted in the cloud and accessed through a browser. With Paas, developers can often build web applications without installing any tools on their computer, and can then deploy those applications without any specialized system administration skills.
Paas systems are useful because they enable lone developers and start-up companies to deploy web-based applications without the cost and complexity of buying servers and setting them up. The benefits of Paas lie in greatly increasing the number of people who can develop, maintain, and deploy web applications. In short, Paas offers to democratize the development of web applications in much the same way that Microsoft Access democratized the development of the client/server application.
Paas offers the potential for general developers to build web applications without needing specialized expertise, which allows an entire generation of Microsoft Access, Lotus Notes, and Power Builder developers to build web applications without too steep a learning curve.
The alternative to Paas is to develop web applications using desktop development tools, such as Eclipse or Microsoft Access, and then manually deploy those applications to a cloud-hosting provider, such as Amazon Web Services (AWS).
At a minimum, a Paas solution should include the following elements:
- A PaaS development studio solution should be browser-based.
- An end-to-end Paas solution should provide a high-productivity integrated development environment (IDE) running on the actual target delivery platform so that debugging and test scenarios run in the same environment as production deployment.
- A PaaS solution should provide integration with external web services and databases.
- A Paas solution must provide comprehensive monitoring of application and user activity, to help developers understand their applications and effect improvements.
- Scalability, reliability, and security should be built into a Paas solution without requiring additional development, configuration, or other costs.
- A Paas solution must support both formal and on-demand collaboration throughout the entire software life cycle , while maintaining the security of source code and associated intellectual property.
- A Paas solution should support pay-as-you-go metered billing.
In the traditional hosted application model, the vendor provides the entire infrastructure for a customer to run his applications. Often, this entails housing dedicated hardware that is purchased or leased for that specific application. The Iaas model also provides the infrastructure to run the applications, but the cloud computing approach makes it possible to offer a pay-per-use model and to scale the service depending on demand.
From the laas provider's perspective, it can build an infrastructure that handles the peaks and troughs of its customers' demands and add new capacity as the overall demand increases. Similarly, in a hosted application model, the Iaas vendor can cover application hosting only, or can extend to other services (such as application support, application development, and enhancements) and can support the more comprehensive outsourcing of IT.
The Iaas model is similar to utility computing, in which the basic idea is to offer computing services in the same way as utilities. That is, you pay for the amount of processing power, disk space, and so on that you actually consume. laas is typically a service associated with cloud computing and refers to online services that abstract the user from the details of infrastructure, including physical computing resources, location, data partitioning, scaling, security, backup,and so on.
In cloud computing, the provider is in complete control of the infrastructure. Utility computing users, conversely, seek a service that allows them to deploy, manage, and scale online services using the provider's resources and pay for resources the customer consumes. However, the customer wants to be in control of the geographic location of the infrastructure and what runs on each server.
Features available for a typical laas system include:
The ability to scale infrastructure requirements, such as computing resources, memory, and storage (in near-real-time speeds) based on usage requirements.
Pay as you go
The ability to purchase the exact amount of infrastructure required at any specific time.
Best-of-breed technology and resources
Access to best-of-breed technology solutions and superior IT talent for a fraction of the cost.