Platform-as-a-Service (PaaS) is a robust vendor-supported, bounded, and preexisting computing environment on which consumer code (customer developed or acquired software) can be executed. PaaS usually offers proprietary supplemental services. With Infrastructure-as-a-Service (IaaS), by contrast, you usually need to assemble system parts (such as server, storage, and networking layer services) from an IaaS vendor catalog to construct a computing environment (or platform).
PaaS is a good cloud hosting option for general application execution and can greatly reduce initial setup time and the amount of in-house expertise required by a consumer. PaaS services can cost more than similar IaaS deployments, though, and Paas has more limited technical variations of system design.
Most PaaS providers have the following features and benefits:
- Allow the use of programming languages that software developers recognize.
- Offer tools to support software development.
- Stock prebuilt modular enhancements (such as libraries) to simplify integrations, to extend functionality, and to provide layered security.
- Provide application programming interfaces (APIs) for most developer actions, so that changes can be automated.
- Have no servers to monitor or patch, and are not OS-centric.
- Have little to no transparency into infrastructure under the code, which reduces the support burden.
These are examples of PaaS providers and their corresponding software product category:
- Force.com by Salesforce: Proprietary language (similar to Java) with strong links to Customer Relationship Management (i.e., Salesforce CRM)
- Acquia: Drupal web content management service with web server and support for web application execution (such as PHP)
- Heroku: Rich general application execution framework for several popular languages: Node, Ruby, Python, Java, PHP, and Go
- AWS Elastic Beanstalk: Rich general application execution framework with simplified linkages to a broad array of AWS products