Docker-based deployments
Deploying a microservice at scale can be done by running several containers spread across either one or several instances. When we are developing our application locally, we are limited to what our one desktop or laptop computer can provide; but for a production service, it may run on dozens or hundreds of servers, with each one running a container that is providing different parts of the application. Each of the options for deploying your application in the cloud, or scaling it up to meet your needs, will involve running more instances, to run more containers.
The first to examine is Docker Compose, which is aimed at smaller-scale deployments, mostly contained in a single instance, but running multiple containers. This is ideal for a development environment, a staging environment, or a prototype. Other options we will look at are Docker Swarm and Kubernetes, which provide different levels of complexity for someone deploying an application, but also increasing...