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

Docker Swarm clusters


A cluster is a group of machines connecting together to do work. A Docker host is a physical or virtual machine with the Docker Engine installed. We create a Docker Swarm cluster by connecting many Docker hosts together. We refer to each Docker host as a Docker Swarm node, simply a node.

In version 1.12, Docker introduced Swarm mode, a new orchestration engine to replace the old Swarm cluster, which is now referred to as Swarm classic. The main difference between Swarm classic and Swarm mode is that Swarm classic uses an external service, such as Consul, etcd, or Apache ZooKeeper as its key/value store, but Swarm mode has this key/value built in. With this, Swarm mode keeps orchestration latency at a minimum, and is more robust than Swarm classic because it does not need to interact with an external store. The monolithic nature of Swarm mode is good for making changes to its algorithms. For example, one of my research works implemented the Ant Colony optimization to...