PaaS (platform-as-a-service) is a form of cloud computing that enables software developers to build, run, and manage software applications easily, without worrying about underlying infrastructure. The advent of cloud computing opened the door for vendors to bundle together the key building blocks required to create an application, with the aim of simplifying or even automating many of the trickier and more repetitive tasks required to deploy code.
PaaS accomplishes all that, but with few exceptions, it has become a service available on IaaS (infrastructure as a service) clouds rather than a separate cloud offering and often includes Kubernetes container orchestration. Serverless computing, a type of cloud platform that makes development of certain types of applications even easier, is considered an evolution of PaaS.
The simplification inherent in PaaS enables faster and easier software development, reducing the scope of a developer’s work by hiding the underlying compute, storage, database, operating system, and network resources required to run the application. Commercial PaaS offerings charge customers for the use of these resources and sometimes for the platform itself, either per seat or by the number of applications being hosted.
Most PaaS tools provide templates or build packs aimed at easing the process of constructing certain common application types by abstracting away a set of common decisions or processes for developers. This is why PaaS options are often labeled “opinionated,” as they provide developers with a clearly defined, if somewhat restricted, method for building and running applications.
As with other cloud services such as infrastructure as a service (IaaS) and software as a service (SaaS), a PaaS is typically accessed over the internet but can also be deployed on-premises or in a hybrid mode.
The underlying infrastructure that applications eventually run on is fully managed by the service provider. In many cases, the customer can decide where the application is hosted and is given a choice over how performant or secure that environment is, often at an additional cost.
The building blocks of a typical PaaS include: