Deploying with Docker
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.
At the time of writing, Docker is beginning to have an impact on larger enterprises, but solutions such as Puppet are 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 emerging solutions, such as these:
- Docker Swarm: Docker Swarm is compatible with Docker Compose, which is appealing. Docker Swarm is maintained by the Docker community.
- Kubernetes: Kubernetes is modeled after Google's Borg...