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

IBM Cloud Functions


IBM Cloud Functions is a service provided by IBM Cloud. It is powered by Apache OpenWhisk; actually, it's IBM who donated OpenWhisk to the Apache Foundation. We have a chapter dedicated to OpenWhisk later in this book.

The Cloud Functions service provided by IBM is, of course, very similar to other function services in terms of concepts. Functions wrap around the application business logic and run in the event-driven FaaS environment managed by IBM.

Functions are designed to respond to a direct HTTP invocation from other Web or mobile apps, or to events triggered by other supported systems, for example, Cloudant. IBM Cloud provides Cloudant, a commercially supported JSON data store built on top of CouchDB.  We can prepare a trigger in the Cloudant system, and let it fire events to invoke functions defined in the IBM Cloud Functions, when the data in Cloudant is changed.

The design goal of functions is generally the same among cloud providers. They provide a way for us developers...