What are the Delivery Models of Cloud Computing?
Software-as-a-Service(SaaS) gives the capability to use applications supplied by the service provider in a cloud infrastructure. The applications are accessible from various client devices through a thin-client interface such as a Web browser (e.g., web-based email).
The user does not manage or control the underlying cloud infrastructure, including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
- Enterprise services such as workflow management, groupware and collaborative, supply chain, communications, digital signature, customer relationship management (CRM), desktop software, financial management, geospatial, and search.
- Web 2.0 applications such as metadata management, social networking, blogs, wiki services, and portal services.
The SaaS is not suitable for applications that require a real-time response or those for which data is not allowed to be hosted externally. The most likely candidates for SaaS are applications for which:
- Many competitors use the same product, such as email.
- Periodically there is a significant peak in demand, such as billing and payroll.
- There is a need for Web or mobile access, such as mobile sales management software.
- There is only a short-term need, such as collaborative software for a project.
Platform-as-a-Service(PaaS) gives the capability to deploy consumer-created or acquired applications using programming languages and tools supported by the provider.
Such services include session management, device integration, sandboxes, instrumentation and testing, contents management, knowledge management, and Universal Description, Discovery, and Integration (UDDI), a platform-independent Extensible Markup Language (XML)-based registry providing a mechanism to register and locate Web service applications.
PaaS is not particularly useful when the application must be portable, when proprietary programming languages are used, or when the underlying hardware and software must be customized to improve the performance of the application.
The major PaaS application areas are in software development where multiple developers and users collaborate and the deployment and testing services should be automated.
Infrastructure-as-a-Service(IaaS) is the capability to provision processing, storage, networks, and other fundamental computing resources; the consumer is able to deploy and run arbitrary software, which can include operating systems and applications.
The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of some networking components, such as host firewalls.
Services offered by this delivery model include server hosting, Web servers, storage, computing hardware, operating systems, virtual instances, load balancing, Internet access, and bandwidth provisioning.