Book Image

Serverless Architectures with Kubernetes

By : Onur Yılmaz, Sathsara Sarathchandra
Book Image

Serverless Architectures with Kubernetes

By: Onur Yılmaz, Sathsara Sarathchandra

Overview of this book

Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. By learning Kubernetes, you’ll be able to design your own serverless architecture by implementing the function-as-a-service (FaaS) model. After an accelerated, hands-on overview of the serverless architecture and various Kubernetes concepts, you’ll cover a wide range of real-world development challenges faced by real-world developers, and explore various techniques to overcome them. You’ll learn how to create production-ready Kubernetes clusters and run serverless applications on them. You'll see how Kubernetes platforms and serverless frameworks such as Kubeless, Apache OpenWhisk and OpenFaaS provide the tooling to help you develop serverless applications on Kubernetes. You'll also learn ways to select the appropriate framework for your upcoming project. By the end of this book, you’ll have the skills and confidence to design your own serverless applications using the power and flexibility of Kubernetes.
Table of Contents (11 chapters)
2. Introduction to Serverless in the Cloud


In this chapter, we discussed the advantages of using serverless on Kubernetes. We discussed three technologies that offer the benefits of serverless on top of a Kubernetes cluster. These are Knative, Google Cloud Run, and Virtual Kubelet.

First, we created a GKE cluster with Istio and deployed Knative on top of it. Then we learned how to deploy an application on Knative. Next, we discussed the serving component of Knative and how to perform a canary deployment with configuration and route objects. Then we discussed monitoring on Knative and observed how Knative autoscaling works based on the number of requests received.

We also discussed Google Cloud Run, which is a fully managed platform, built on the Knative project, to run stateless HTTP-driven containers. Then we learned how to deploy an application with the Cloud Run service.

In the final section, we studied Virtual Kubelet, which is an open source implementation of Kubernetes' kubelet. We learned the differences...