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.
PaaS systems must offer a way to create user interfaces, and thus support standards such as HTLM, 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 one example that is most quoted as a PaaS offering is Google’s App Engine platform. Developers program against the App Engine using Google’s published APIs. The tools for working within the development framework, as well as the structure of the file system and data stores, are defined by Google.
Another example of a PaaS offering is Force.com, Salesforce.com’s developer platform for its SaaS offerings. Force.com is an example of an add-on development environment.
A developer might write an application in a programming language like Python using the Google API.
The vendor of the PaaS solution is in most cases the developer, who is offering a complete solution to the customer.
Google itself also serves as a PaaS vendor within this system, because it offers many of its Web service applications to customers as part of this service model.
You can think of Google Maps, Google Earth, Gmail, and the myriad of other PaaS offerings as conforming to the PaaS service model, although these applications themselves are offered to customers under what is more aptly described as the Software as a Service (SaaS) model that is described below.
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.
Comments