PaaS: Definition

In the cloud, there are three fundamentally different services offered.

IaaS #

An IaaS (Infrastructure as a Service) offers virtual computers on which software has to be installed.

IaaS is a simple solution that corresponds to classical virtualization.

The decisive difference is the billing model, which for IaaS bills only the actually used resource per hour or per minute.

SaaS #

SaaS (Software as a Service) denotes a cloud offer where software can be rented for word processing or financial accounting.

For software development, version controls or continuous integration servers can be purchased as SaaS.

PaaS #

PaaS stands for Platform as a Service. PaaS offers a platform on which custom software can be installed and run. The developer only provides the application to the PaaS, the PaaS makes the application executable.

Unlike Docker and Kubernetes (see chapter 13), the operating system and the software installed on it is not under the developer’s control.

For the microservices examples, the Dockerfile specifies that an Alpine Linux distribution and a specific version of the Java Virtual Machine (JVM) should be used. This is no longer necessary with a PaaS. The JAR file contains the executable Java application and everything the PaaS needs.

To start the application in the runtime environment, the PaaS can create a Docker container, but the decision which JVM and Linux distribution to use is up to the PaaS.

The PaaS must be prepared to run different types of applications. .NET applications and Java applications require their own virtual machine, while Go applications do not.

The appropriate environment must be created by the PaaS. Nowadays PaaS are flexible enough to support different environments, even your own environment. Therefore, you can usually define which JDK should be used.

Get hands-on with 1200+ tech skills courses.