Great article.
Jonathan Day-Reiner

So far my clusters are rather small, a dozen or so machines (2–4 cpu, 8–16g ram per node), and I use Consul for both swarm/libnetwork discovery without a hitch. I haven’t driven the Digital Ocean setup at a similar scale, is this where you are seeing problems?

Also, something that I mentioned but didn’t dive into is that with services that are consul-aware (aka self-registering) or with a Docker daemon sidecar/agent such as registrator that can register new services as they are initialized, one can leverage this Consul setup for cluster-local service discovery as well as the cluster-local system-of-truth for CM detail.