Platform as a Service (PaaS) is a hosted application stack that can be used to build and deploy a web application with no servers to configure or administer.
PaaS changes the economics of application development and delivery by drastically reducing the development costs while simultaneously providing scalability, high availability and reduced maintenance. Some examples of PaaS providers are:
1. Google App Engine: Google’s platform allows you to build applications utilizing Google’s software infrastructure, however, currently supports applications written using Python.
2. Heroku: Supports Ruby on Rails application development.
3. 10Gen: An open source application stack that supports Javascript, Python, Ruby, and Mongo Database with a 10 Gen application server.
4. Force.com from Salesforce: Arguably the most successful and popular platform. Provides components (i.e. database, integration, logic etc) as a service.
5. Bungee Labs: Provides an IDE to develop applications in C like language using a PostgreSQL database as the backend database. Not sure how popular this service is. However, note that they had to let go fifteen people on Aug’26, 2008.
6. Aptana Cloud: Aptana provides an elastic application stack supporting AMP (Apache, PHP, and MySQL), AJAX/JAXER and Ruby on Rails (soon to be supported) applications. JAXER is Aptana’s AJAX server.
7. Coghead: Provides an easy to use application stack that can be used by anyone (as in a developer or a business analyst) to build web applications. The application stack composes of a visual editor based on Flex, BPM and a database built in partnership with Oracle Berkley XML DB.
8. Qrimp: They call themselves as an advanced database. Basically Qrimp enables a web presentation of the data from their database.
9. Morph Labs: The application stack is different for Rails and Java applications. Rails applications uses a stack built over web server Mongrel, application server Nginx with PostgreSQL as the database. Java application stack is deployed in Jetty and PostgreSQL can be used as the database.
10. Longjump: Built using Java with a MySQL database as the backend among other open source technologies. They also offer exclusive support for CRM applications.
While PaaS is an innovative way of developing and deploying applications online, however, the downsides are vendor lock-in, reduced flexibility, data issues, and minimal or zero portability among other limitations. In general PaaS models are well suited for an application that does not deal with sensitive or important data.
Some of the disadvantages of a PaaS model, mentioned above, can be overcome, if the PaaS caters to only one enterprise’s needs. For example multiple Lines of Business (LOB) in an enterprise may use a common application framework or a set of components over which all LOB’s build their application functionality. Such a framework or components can be an ideal candidate to evolve into a platform within an enterprise, which can be hosted internally (using a cloud enabling software such as 3Tera) and LOB’s can build their applications over the platform. Obviously this would involve processes for promotion, adoption and some governance around it.
While PaaS in an enterprise is a possibility, however, it would take some time (maybe a couple of years). One of the business reasons for adopting a PaaS model in an enterprise would be the speed of delivery of functionality to the market, at a reduced cost.