Platform as a service

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 124.171.161.201 (talk) at 06:11, 1 October 2008 (→‎Examples of PaaS). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Platform as a Service (PaaS) is an outgrowth of the Software as a Service application delivery model. The PaaS model makes all of the facilities required to support the end-to-end life cycle of building and delivering web applications and services entirely available from the Internet[1]—with no software downloads or installation for developers, IT managers or end-users. It's also known as cloudware.

PaaS offerings include workflow facilities for application design, application development, testing, deployment and hosting as well as application services such as team collaboration, web service integration and marshalling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services are provisioned as an integrated solution over the web.

Key Characteristics of PaaS offerings[2]

Services to Develop, Test, Deploy, Host and Maintain Applications

Different PaaS offerings provide different combinations of services to support the application development lifecycle.

Web Based User Interface Creation Tools

PaaS offerings typically provide some level of support to ease the creation of user interfaces, either based on standards such as HTML and JavaScript or other technologies.

Multi-Tenant Architecture

PaaS offerings typically attempt to remove developer concerns regarding the use of the application by many concurrent users. This may include providing automatic facilities for concurrency management, scalability, failover and security.

Integration with Web Services and Databases

Support for SOAP and REST interfaces allow PaaS offerings to create compositions of multiple Web services, sometimes called "Mashups" as well as access databases and re-use services maintained inside private networks.

Support for Development Team Collaboration

The ability to form and share code with ad-hoc or pre-defined or distributed teams greatly enhances the productivity of PaaS offerings.

Utility-Grade Instrumentation

Integrated PaaS offerings provide an opportunity for developers to have much greater insight into the inner workings of their applications and the behavior of their users. Certain PaaS offerings leverage this instrumentation to enable pay-per-use billing models.

Different Types of PaaS

Add-on Development Facilities

These facilities allow customization of existing SaaS applications, and in some ways are the equivalent of macro language customization facilities provided with packaged software applications such as Lotus Notes, or Microsoft Word. Often these require PaaS developers and their users to purchase subscriptions to the co-resident SaaS application.

Stand Alone Development Environments

Stand-alone PaaS environments do not include technical, licensing or financial dependencies on specific SaaS applications or web services, and are intended to provide a generalized development environment.

Application Delivery-Only Environments

Some PaaS offerings lack development, debugging and test capabilities, and provide only hosting-level services such as security and on-demand scalability.

Factors Driving PaaS Adoption

PaaS is in its early stages, and adoption is driven by many of the same features driving SaaS adoption. Additional, platform-specific factors include[3]

  • The benefits of ad hoc, geographically distributed development teams working together on projects
  • The ability to incorporate web services from multiple sources
  • The cost reductions derived from using built-in infrastructure services for security, scalability, failover etc, rather than obtaining and testing and integrating these separately
  • The cost reductions derived from using higher level programming abstractions for creating services, user interfaces and other application elements.

Factors Inhibiting PaaS Adoption

PaaS offerings provide either proprietary service interfaces or proprietary development languages both of which tie a created application to that provider by raising switching costs[4], relative to the switching costs of conventional hosting.

  • Limits on Growth

The flexibility of PaaS offerings may not be compatible with the requirements of quickly growing sites, both in terms of scalability for many users, and addition of new complex features that may be difficult to implement on a web-based platform.

References

External links

Examples of PaaS