DEV Community

Cover image for FaaS and kubernetes
Ashok Nagaraj
Ashok Nagaraj

Posted on • Updated on

FaaS and kubernetes

Containerization is a given for cloud-native world, or does it have to be?

Traditionally with dockerfile,docker-compose scenario - one would have a Dockerfile, build and run the images with docker-engine. docker-compose helps create a stack that can be built, run, logged and scaled, but it is limited to one host (generally localhost on which docker engine is running)
Image description


Services like AWS ECS help move over this by providing a container runtime where running containers can be hosted, but orchestration is still a concern when it comes to complex microservices.
Image description


Advent of kubernetes as the de-facto orchestration engine for containerized workloads helps with coordination and orchestration. The entry fee though, is still very high - asking the developer to create multiple yaml files to create a running-container(pod) that can be accessed over http(service). The second-order concepts like Ingress and HPA cause more confusion in-spite of being very useful from a resilient infrastructure perspective
Image description


The popularity of AWS Lambda got the kubernetes folk thinking of resolving these deployment complexities and gave rise to projects like OpenFaaS and the number of other serverless frameworks that have come-up based on KNative (Kubeless, KEDA, Fission ..)
These frameworks also help with building elastically scaling workloads and creating Event Driven Architecture. The emergence of Cloud Events has helped arrive at a common specification for event payloads to enable plugging-in event based systems like Kafka, NATS, RabbitMQ
Image description


Virtual Kubelet is a project towards creating virtual/serverless kubernetes nodes

Description and schematic from Virtual Kubelet github page

Virtual Kubelet is an open source Kubernetes kubelet implementation that masquerades as a kubelet for the purposes of connecting Kubernetes to other APIs. This allows the nodes to be backed by other services like ACI, AWS Fargate, IoT Edge, Tensile Kube etc. The primary scenario for VK is enabling the extension of the Kubernetes API into serverless container platforms like ACI and Fargate, though we are open to others.
Image description

Top comments (0)