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

Fn's architecture


The easiest setup of an Fn Server is just bringing up a standalone Fn container; however, the more complete architecture will be as shown here. A cluster implementation will be demonstrated at the end of this chapter. The following diagram shows the overview of the Fn architecture:

Figure 5.1: The architecture of the Fn FaaS cluster

As is the case with the common FaaS architecture, Fn also has the API gateway, which is Fn LB in the previous diagram. Fn LB is basically a load balancer. It passes through requests from the client to each Fn Server. In the Fn Server implementation, there is no separation concept of initiator and executor as there is no event bus at the core of the Fn's architecture. So, an Fn Server also acts as an executor to execute functions on its associate Docker engine.

Fn Servers connect to a Log Store, which could be a standalone or a cluster of DBMS. All data sent from an Fn function to the standard error is logged to the Log Store.

Fn UI and Fn LB are...