Platform as a service is one of the big flavors of cloud computing to emerge over the last several years, helping to simplify application development and deployment. However, with new technologies, such as Docker containers -- which offer the potential to run applications almost anywhere -- some see a shift in the role and importance of platform as a service.
In platform as a service (PaaS), different components and services combine to create an application environment, said Matthias Popiolek, a principal consultant at Information Services Group, a technology consulting firm based in Stamford, Conn. While PaaS frameworks today already involve a mix of services and building blocks, they are expanding to include microservices and containerized apps. And as far as the dichotomy between PaaS and technologies like Docker, containers bring more choice and flexibility to PaaS -- potentially making it more valuable.
Docker, for example, could create a multitude of component services out of applications that haven't been available within PaaS frameworks before, Popiolek said. This could allow developers to create application blueprints that would require more effort without containers.
"Imagine that rather than having to include a component to be configured within a blueprint, which would make deployment difficult and cumbersome, instead a containerized component can be used out of the box," he said.
Several legacy PaaS tools are starting to embrace these new technologies. For example, companies like Joyent, which traditionally positioned itself as an infrastructure as a service (IaaS) provider and was recently acquired by Samsung, have pivoted to embrace application containers with a container-native infrastructure and accompanying tools. Others with a similar approach include Google and Amazon Web Services, and CloudFoundry has also taken a containers as a service approach with PaaS.
Limitations for microservices and containers in PaaS
Matthias Popioleka principal consultant at Information Services Group
Containers and microservices could also introduce some challenges for organizations using PaaS. For example, as today's monolithic PaaS frameworks are broken down into microservices, it could cause a visibility and transparency problem. Keeping track of all the available microservices in an organization will be a challenge.
"This will be compounded by the fact that an organization has to expose more and more business-to-business and business-to-business-to-consumer interfaces," Popiolek said, noting that these additional interfaces will add another level of complexity.
Another limitation is that containers only benefit applications that are deployed multiple times within a PaaS environment. "The abstraction that happens within containers ... delivers value on repeatable deployments and usage; applications that will only be deployed once will have only limited to no benefits from containers," Popiolek said.
This is because a containerized environment is virtualized on a level above the virtualization within classic IaaS. This allows you to deploy applications without having to configure each deployment. In other words, you can use a container many times over without having to touch the application within it, whereas in an IaaS world, each deployment requires interaction.
"As the configuration within a container is an effort comparable to a single deployment effort, the benefits start to show with multiple deployments," Popiolek said.
PaaS, Docker not mutually exclusive
The bottom line is that there is no need to choose between containers and PaaS. You can use both technologies to increase the value you get from the cloud. Today's application developers are going to use the tools they are most familiar with, coupled with the platform they either want or need to use, based on the requirements of their customers or organization.
Build a path from IaaS to PaaS
Will Docker replace PaaS?
PaaS rises to the container challenge