Platform as a Service (abbreviated to PaaS) refers to a cloud environment that provides a platform for the development of applications on the Internet. PaaS is closely related to other services, such as SaaS or even IaaS.
Platform as a Service in detail: PaaS builds on Infrastructure as a Service (IaaS) and adds further features to the concept of providing hardware. These include a development environment that is usually directly accessible to PaaS users. No customization of hardware or software is required, and the need to purchase hardware or software is also eliminated. The Platform as a Service is equipped with everything needed to develop new software.
This includes both development and debugging processes, as well as public or closed testing and delivery to the end customer. Those end customers then use the completed application as Software as a Service (SaaS). Since the basic building block of PaaS is based on IaaS, the infrastructure can be scaled quite easily depending on the required computing power (which in the end also applies to the developed software). In the so-called cloud stack, PaaS is thus the link between IaaS and SaaS.
Providers of Platform as a Service usually offer several core aspects that help the developer to implement his project. At the same time, they help the developer create a modern application that includes features that customers expect today.
An important example today includes the integration of an SDK for mobile devices such as smartphones and tablets. With mobile computing playing a major role in the end-user space as well, customers today expect to access the application from their portable devices. An SDK of this type can be found in most PaaS services today. Equally important on mobile devices, but also at home or in the office, is the integration of social media into apps. This is not only important in the private sphere, as these services also play a supporting role in companies. The "old" way of software development usually does not teach the sensible, successful implementation of social media in programs.
Furthermore, the support of several programming languages is central, since there is no language that is best suited for all use cases without exception. Excellent platforms therefore offer a large selection of different programming languages. A database in the cloud that grows with the application while providing a secure infrastructure is also considered important. Cloud databases now also meet central compliance regulations. Depending on the intended use, it can also make sense to integrate simple tools with which employees can quickly provide their own apps without programming knowledge. Drag & drop or point & click are methods that help deploy simple apps and are becoming more common in PaaS solutions.
Platform as a Service offers several advantages for developers:
Possible disadvantages of PaaS
The advantage of the provided development environment is at the same time a disadvantage: developers have no influence on the configuration of the environment and, if necessary, cannot implement their own features. Furthermore, Platform as a Service always belongs to the deployer of the platform and is never provided externally. This can cause enormous problems if the service provider discontinues the service or goes bankrupt.
The loss of a development environment can cause major losses for companies (both in terms of time and money). Proven workflows have to be revised and adapted to a possibly new platform.
Like many other cloud services, there is also still a certain acceptance problem: the "old" method of software development - local, in-house, in self-developed or purchased environments - is still considered the measure of all things for many developers. Just like IaaS and SaaS, the shift to PaaS is therefore happening slowly, albeit steadily and with increasing integration in companies both in Germany and around the world.