Docker Swarm is a clustering solution for Docker-based containers by the Docker. It enables (for load balancing and failover) you to use the pool of Docker hosts into a single, virtual Docker host.
Docker Swarm is a standalone product, and there is a Swarm mode within a Docker Engine as well.
The cluster management and orchestration features are built in the Docker Engine using SwarmKit.