The abbreviation PaaS , short for Platform as a Service , describes the middle tier of the cloud service models. The main benefit is, in particular, the simplification of the development and provision of applications as well as greater efficiency. Here the user has to take the software development into their own hands. At the same time, however, this also means for him that PaaS already brings elements such as runtime environment or operating system with it. Nevertheless, all important responsibilities are borne by the provider.

Advantages and disadvantages of PaaS

At the same time, there are also some noteworthy advantages and disadvantages with this service model. With PaaS, these parameters stand out in particular:

benefits

  • faster and less complicated development and delivery of the software
  • Development, test phases and operation possible on a uniform platform
  • Software development lifecycle easy to manage
  • Many functionalities are directly available, e.g. authentication, security features, database management system, user directories and registration, monitoring, etc.

On the other hand, there are also some disadvantages:

disadvantage

  • High dependency on the cloud provider, especially with regard to the vendor lock-in (German: difficulty in changing provider)
  • Components cannot simply be taken along when changing providers
  • Fast-moving market, ie many innovations & shutdowns in functions
  • Constant price changes, ie running costs that are difficult to calculate

Software development in the cloud

In the area of the PaaS service model, there are some key principles in software development. I would like to take a closer look at the concepts of microservices, containers and orchestration at this point

Microservices

Microservices play a role especially in connection with modern IT architecture and ensure the modularization of software. It is about the interaction of many small microservices, each of which processes a task module and then packs it into a container. The individual microservices can communicate with one another on the basis of a common network.

Microservices are often used to break down complex software into small parts and thereby make it easier to understand as well as to facilitate the possibility of expansion. This is therefore possible because the applications within the entire process are made more modular and therefore scalable independently of one another.

Microservices example :

You want to make some tea. You break these tasks down into the microservices: provide tea bags, boil water, fill water in cup and put tea bags in cup.

Container

Another element of PaaS are containers. Such a container corresponds to a kind of scalable box around your own application and its dependencies, in which, for example, a microservice is accommodated (see Fig. 1). Completely independent of its environment, it is kept extra small and only contains the most essential features to be able to operate the application reliably. A well-known example of containers is the “Docker” open source solution.

Fig. 1: Use of containers and microservices
(Source: Lindner et al. 2020)

The added value of containers

  • Can be used in any environment and in any cloud
  • Easy scalability
  • With high resource consumption (e.g. traffic), several containers can act at the same time and distribute the load
  • Irrespective of the hardware, images can be passed on from the development environment to the test environment through to production
  • Containers are small and can start up significantly faster than large-meshed operating systems

How containers work

Each container is based on an image. An image describes a blueprint from which the containers are created. Images are usually stored at a central point and can be used from all environments.

The individual image consists initially of a large layer, called the kernel, on which the various containers can run. Based on this, images can finally be put into operation in containers. In fig. 2, for example, you can see a base image on the right stack (here: BusyBox) to which the Python runtime environment is added in order to be able to create a container from it. On the other hand, there is also the possibility, as on the left, that an image is based on an operating system (here: Debian) to which the two layers Apache “and” PHP “are assigned in this example.

Fig. 2: Illustration of an image (Source: Lindner et al. 2020)

Using these methods, as well as adding and changing layers as required, images can be specialized and displayed in many different variations.

Orchestration

The containers mentioned in the section above must also be properly managed using suitable orchestration software. Such software is used to monitor the interaction of the individual containers like a conductor and to bring them into harmony with one another. For example, to precisely determine the sequence of the microservices. A well-known example of such software is Google’s open source “Kubernetes” project.

Google provides users with a portable and infinitely expandable platform for managing services that are delivered in containers. Added value is not only significantly better operation, but also significantly easier scalability. This in turn means that both automation and configurations are enormously simplified.

Added value and functionality of Kubernetes

In addition, Kubernetes offers the possibility that the user only has to specify the desired status of the application and the software then independently takes care of the timely implementation in the appropriate version.

The smallest unit in Kubernetes is described by the so-called “pod”. This corresponds to a running process in a server and can only contain one or several equivalent containers. Each pod has a unique IP address, a set of network ports provided and its own hard disk space that can be shared by containers. These elements also make it possible for the individual containers to communicate via the common environment.

With an increasing number of users, the number of pods can not only simply be increased, but this can also happen automatically at the same time. In addition, by redirecting traffic to different pods, the program can perform deployments with no downtime. In this way, the pods can always be kept up to date (see Fig. 3).

Fig. 3: Kubernetes and Docker containers
(Source: Lindner et al. 2020)

Conclusion

Finally, it can be seen that PaaS is a useful service model, especially in the area of application development. Not only does it enable development times to be significantly accelerated. At the same time, the complexity of server operation and scaling can be significantly reduced.

When using PaaS, users should always put together small task packages for microservices with regard to a flawless monolithic application.

PaaS is therefore particularly suitable for those who are experienced in the cloud, as it can offer not only comparatively low costs, but also rapid development potential. At the same time, however, the disadvantages such as vendor lock-in and data security should also be considered. This can be an important factor in the decision for this cloud service model in the area of finance, for example.

Tip: Read my new book: The way to the cloud at Springer Gabler or book me for a talk .

source

Lindner, D., Niebler, P., & Wenzel, M. (2020). The way to the cloud – a guide for entrepreneurs and decision-makers . Heidelberg: Springer Gabler.

[werbung]

Image source: pixabay.com

[fotolia]
Author

I blog about the influence of digitalization on our working world. For this purpose, I provide content from science in a practical way and show helpful tips from my everyday professional life. I am an executive in an SME and I wrote my doctoral thesis at the University of Erlangen-Nuremberg at the Chair of IT Management.

By continuing to use the site, you agree to the use of cookies. more

The cookie settings on this website are set to "Allow Cookies" to provide the best browsing experience. If you use this website without changing the cookie settings or click "Accept", you agree to this.

close