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

Installing OpenFaaS


It is extremely simple to install OpenFaaS locally on a development machine. Make sure you have Docker 17.05 or later installed and you will be ready to go.

First, we need to initialize a Swarm cluster. A single node Swarm is enough to be used in the development environment:

$ docker swarm init

Note

If the Swarm cannot be initialized because the machine has multiple network interfaces, we have to specify an IP address or an interface name for the argument, --advertise-addr.

OpenFaaS can be up and running directly from its source by cloning the repository from GitHub. Then, check out the OpenFaaS version you want and run the deploy_stack.sh script. The following example is to start version 0.6.5 of OpenFaaS. Please note that there is docker-compose.yml in this directory, which will be used by the docker_stack.sh to deploy the OpenFaaS Docker stack:

$ git clone https://github.com/openfaas/faas \
  cd faas \
  git checkout 0.6.5 \
  ./deploy_stack.sh
Cloning into 'faas'...
remote...