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

AWS Lambda


Among serverless architectures offered by cloud providers, AWS Lambda is the most popular and has some advanced features.

FaaS/serverless is a natural evolution from microservices, or we may think of it as an extension to the microservices architecture. In many scenarios, we can complement our microservices architecture with functions or Lambda. If you are already an AWS customer, it is completely natural to move your codes from EC2 to Lambda and save a lot of money. The following diagram illustrates a simple use case that usesAWS Lambda together with S3 Buckets and DynamoDB:

Figure 3.1: A simple use case of using Lambda function on AWS

In S3, there is a way to trigger the event to a specific endpoint. We put the endpoint of our Lambda function there. After users upload or make changes to the S3 bucket, it will trigger to send an invocation request to the Lambda function. This could be thought of as a form of WebHooks. After that, the Lambda function receives the event and starts...