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
2. Introduction to Serverless in the Cloud

Kubernetes Resources

Kubernetes comes with a rich set of resources to define and manage cloud-native applications as containers. In the Kubernetes API, every container, secret, configuration, or custom definition is defined as a resource. The control plane manages these resources while the node components try to achieve the desired state of the applications. The desired state could be running 10 instances of the application or mounting disk volumes to database applications. The control plane and node components work in harmony to make all resources in the cluster reach their desired state.

In this section, we will study the fundamental Kubernetes resources used to run serverless applications.

Pod

The pod is the building block resource for computation in Kubernetes. A pod consists of containers scheduled to run into the same node as a single application. Containers in the same pod share the same resources, such as network and memory resources. In addition, the containers in...