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.
Features of current PaaS solutions
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.
The advantages of PaaS
Platform as a Service offers several advantages for developers:
The focus is on the development of the desired application. There is no need to set up the necessary hardware and network infrastructure, and there is also no need to administer these systems. In the long term, maintenance costs are also eliminated because external providers maintain the platform.
The development of an app is possible regardless of the location of the developers. Teams can be located on different continents and solve communication via web tools and video chat applications. Geographically, it is therefore no longer necessary to unite teams of developers at the location.
The PaaS provider takes over maintenance and support of the hardware and also software. Security updates are therefore applied without the intervention of the development team. Since PaaS is not directly connected to the on-site network structure, the rapid spread of any malware that may be present is also avoided.
Depending on the size of the development team, PaaS can save costs in the millions. Extensive applications that rely on equally large tests do not have to be simulated in-house in large networks. This also brings a scheduling advantage: application development via PaaS begins immediately after the first project design, since the hardware is directly available via the Internet. Large PaaS providers also respond quite quickly to change requests when an extensive developer community asks for new features.
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.