Friday, July 5, 2019

An essay on comparison of Kubernetes with platform as a service:
Kubernetes is a container framework that enables migration of applications across hosts and provides all abstractions that they need. An application can also run on platform as a service. Virtual machines provide operating system level application isolation support with the help of say Linux containers but  Kubernetes takes it to the next level with the separation of hosts in the form of pods. Container infrastructure layering allows even more scale because it virtualizes the operating system.
The platform-as-a-service model has a dev-ops centric model for application hosting. It enables development and debugging using API, IDE and CI/CD interface. It supports different application types with dedicated application stacks. These application stacks may even be configured to bring out their best from an operations perspective or they may be bundled with other products that improve their overall appeal. PaaS is facilitated with the help of hypervisors which requires hardware support. It is able to launch virtual machines to support isolation of applications and this brings deeper virtualization than container framework.  Separation of hosts as virtual machines enables technology specific stacks to be provisioned. Together with the availability of a wide variety of products that are installable on virtual machines and the layering of applications on specific operating systems such as the LAMP stack, PaaS provides significant capabilities in improving the operations of a hosted application.
On the other hand, Kubernetes provides some generally applicable features common to PaaS offerings, such as deployment, scaling, load balancing, logging, and monitoring. However, Kubernetes is not monolithic, and these default solutions are optional and pluggable. Kubernetes provides the building blocks for building developer platforms, but preserves user choice and flexibility where it is important.
Kubernetes requires applications to conform to its model. Most of the applications can be leaner on a container framework than on a PaaS platform because they can focus on business logic while assuming additional functionalities to be provisioned via optional plug-ins. Containers are cheaper and faster to spin up and these are sometimes necessary considerations for auto-scaling and load balancing.
Writng APIs is a breeze if we have the framework already. We can just publish, manage, secure and analyze our APIs in minutes. We secure the API with Active Directory, single sign-on and OAuth and generate client-proxies or APIs in the language of our choice. Similarly enterprise API can be mashed up and integrated with API management and Logic Apps.  Both PaaS and container framework provide the ability to write these API but deployers prefer one over the other when their deployments have to span clouds.

No comments:

Post a Comment