Book Image

Docker for Serverless Applications

By : Chanwit Kaewkasi
Book Image

Docker for Serverless Applications

By: Chanwit Kaewkasi

Overview of this book

Serverless applications have gained a lot of popularity among developers and are currently the buzzwords in the tech market. Docker and serverless are two terms that go hand-in-hand. This book will start by explaining serverless and Function-as-a-Service (FaaS) concepts, and why they are important. Then, it will introduce the concepts of containerization and how Docker fits into the Serverless ideology. It will explore the architectures and components of three major Docker-based FaaS platforms, how to deploy and how to use their CLI. Then, this book will discuss how to set up and operate a production-grade Docker cluster. We will cover all concepts of FaaS frameworks with practical use cases, followed by deploying and orchestrating these serverless systems using Docker. Finally, we will also explore advanced topics and prototypes for FaaS architectures in the last chapter. By the end of this book, you will be in a position to build and deploy your own FaaS platform using Docker.
Table of Contents (15 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

OpenFaaS components


This section explains the components of OpenFaaS. The components are the API gateway, the function watchdog, and an instance of Prometheus. All are running on top of Docker Swarm or Kubernetes orchestration engines. The API gateway and the instance of Prometheus run as services, while the function watchdog runs as the part of function containers. The container runtime can be any modern version of Docker or containerd:

Figure 4.2: An overview of the OpenFaaS architecture

The client could be curl, faas-cli, or any HTTP-based client that is able to connect to the API gateway in order to invoke a function. A function container, having a function watchdog as its sidecar (an implementation pattern that lets another sidecar process run alongside the main process in the same container), lives in the cluster behind the API gateway. Each service is communicating via the main overlay network, func_functions by default:

Figure 4.3: The internal infrastructure of OpenFaaS running on...