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

Using the OpenFaaS CLI


The OpenFaaS CLI, faas-cli, is a command-line tool to help manage, prepare, and invoke functions. On Linux, the OpenFaaS CLI can be installed using the following command:

$ curl -sSL https://cli.openfaas.com | sudo sh

On macOS, it can be installed via brew with the following command:

$ brew install faas-cli

Alternatively, on Windows, faas-cli.exe can be downloaded directly from the OpenFaaS GitHub repository and run manually.

However, we assume that every example is running on Linux. In the following example, the hello function will be created using OpenFaaS's template for the Go language, which can be found at openfaas/fass-cli in GitHub in the template/go directory.

Locally, all templates will be stored in the template/ directory of the working directory. If the template directory does not exist, all templates will be fetched from GitHub's, openfaas/faas-cli. As of OpenFaaS 0.6, there are 10 available templates for five different programming languages there.

Defining a...