A CaaS platform includes the Kubernetes project and also additional tool packages necessary for its implementation and administration. An abstracted platform, beyond operational efficiency, focuses on helping developers to increase their level of productivity.
With CaaS, developers must have their own code in a container in order to implement it in a cluster. Docker-based containers solve this problem and abstracted application platforms completely encapsulate the process of creating container images internally to automate the process. In this case, the developer’s task is just to enter his code in a control tool such as GitHub, or in a continuous integration system or continuous delivery (CI / CD) such as Jenkins, the platform does the rest.
Containers as a Service are aligned with the Open Source Kubernetes project, helping IT to run and manage containers at scale. But a CaaS model implies that the developers take care of all the dependencies of their applications.
On the other hand, abstracted application platforms use Kubernetes as a central component, helping IT to scale containers with fewer expenses than CaaS. Developers are not concerned about the management of execution times or the dependencies of the applications.
The abstracted platforms improve the developer’s productivity, but remove control over the underlying components. The developers do not need to understand the basics of Kubernetes or how to do it.
In short, organizations may take into account their specific objectives, the level of productivity they want developers to reach and the specific use cases that they foresee with these technologies to make the decision to adopt CaaS or an abstracted platform .
For more information on this topic and on the different distributions of Kubernetes, read the full article..