A recent alternative for deployment is Docker, which has several very interesting traits. We have already used Docker several times in this book. You can make use of Docker's features for test automation purposes even if you use, for instance, Puppet or Ansible to deploy your products. Docker's model of creating reusable containers that can be used on development machines, testing environments, and production environments is very appealing.
Docker is beginning to have an impact on larger enterprises, but solutions such as Puppet or Ansible are still dominant. While it is well-known how to build large Puppet or Ansible server farms, it's not yet equally well-known how to build large Docker-based server clusters.
There are several competing solutions, such as these:
- Docker swarm: Docker swarm is compatible with Docker Compose, which is appealing...