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

The Fn Project


The Fn Project was originally devised by the team at Iron.io (https://www.iron.io/) under the name of Iron function. After that, the two founders joined Oracle and forked Iron function into the new project, Fn.

Fn is a framework and system designed to develop and deploy serverless/FaaS applications. In contrast to OpenFaaS, Fn does not use any of the orchestrator-level features to manage function containers.

Fn does not only support deployment via its own infrastructure; it also allows you to deploy the same functions to AWS Lambda. However, we will scope only for deploying functions to its own infrastructure, which is, of course, Docker-based.

There are several design reasons behind Fn.

The Fn Project is committed to be open source. It natively supports Docker, which means that we could use a Docker container as its deployment unit—a function. Fn supports development in any programming language. The Fn infrastructure is written in the Go programming language and aims to be able...