The second level of cloud service types is based on the first level, infrastructure, adding predefined software environments.
PaaS is mainly used to provide a development environment that offers the immediate possibility to start developing on a given platform. This enables the development of applications without having to purchase, manage and incur the investment costs, as well as the maintenance and operational costs, over the lifetime of building and developing web applications. The required development tools, database systems, services, user interfaces, patches and modules are managed, maintained and supported by the PaaS provider. The beneficial aspect for the end user is the rapid development and release of software applications. Examples of PaaS development platforms are: IBM WebSphere, Oracle, Google Apps, .NET, BizTalk, Java EE, Sales Force and Amazon Cloud Services. Often these platforms are based on virtualized and summarized grid computing architecture. Some vendors offer specialized programming languages and APIs to extend the modules. These include Google AppEngine and Salesforce.com, for example.
The source code of developed applications can be ported to other systems based on the same development environment. However, often applications developed on PaaS can only be used on the provider's environment and use special extensions and services, such as Amazon's SimpleDB, which cannot be imported into other development environments. The main idea of PaaS is to protect developers from hassle with small background issues, so they can focus on programming - right now.