Docker and serverless

How will Docker benefit us? When dealing with application development, Docker can be used to simplify the development toolchain. We can pack everything we need to write serverless applications into a single container image and let the whole team use it. This ensures consistency of tool versions and ensures they will not mess up our development machines.

We will then use Docker to prepare our infrastructure. Actually, the term serverless means developers should not maintain their own infrastructure. However, in cases where the public cloud is not an option, we can use Docker to simplify infrastructure provisioning. Using the same architecture as the third-party serverless platforms on our company's infrastructure, we can minimize the operation and maintenance costs. Later chapters will discuss how we can operate our own Docker-based FaaS infrastructure.

For the serverless application itself, we use Docker as a wrapper for serverless functions. We use Docker as a unit of work, so that any kind of binary can be integrated into our serverless platform, ranging from the legacy COBOL, C, or Pascal programs to the programs written in modern languages, such as Node.js, Kotlin, or Crystal. In the 17.06+ versions of Docker, it is also possible to form a Swarm cluster across multi-hardware architecture. We can even host Windows-based C# functions on the same cluster as mainframe-based COBOL programs.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset