So far, we have have interacted with each of the machines individually. Even when we used Ansible to repeat the same operations on multiple servers, we had to explicitly specify on which host the given service should be deployed. In most cases, however, if servers share the same physical location, we are not interested on which particular machine the service is deployed. All we need is to have it accessible and replicated in many instances. How can we configure a set of machines to work together so that adding a new one would require no additional setup? This is the role of clustering.
In this section, you will be introduced to the concept of server clustering and the Docker Swarm toolkit.