The new Swarm bundled in Docker 1.12+ is a vast improvement compared to the old orchestration and scheduling. There is no more the need to run a separate set of Swarm containers (it is bundled in Docker Engine), failover strategies are much more reliable, service discovery is baked in, the new networking works like a charm, and so on. The list of features and improvements is quite big. If you haven't had a chance to give it a spin, please read the Docker Swarm Introduction and Integrating Proxy With Docker Swarm.
In those articles we used commands to run Docker services inside the Swarm cluster. If you are like me, you are probably used to the simplicity Docker Compose provides. Instead trying to memorize commands with all the arguments required for running services, you probably specified everything as Docker Compose files and run containers with a simple
docker-compose up -d command. After all, that is much more convenient than
docker service create followed by an endless number of arguments. My brain does not have the capacity to memorize all of them.
When I started "playing" with the new Swarm, my first impression was this is great, followed by I don't want to memorize different arguments for all of my services. I want my Compose files back into the game.