Docker Swarm vs Weave: What are the differences?
Developers describe Docker Swarm as "Native clustering for Docker. Turn a pool of Docker hosts into a single, virtual host". Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself. On the other hand, Weave is detailed as "Weave creates a virtual network that connects Docker containers deployed across multiple hosts". Weave can traverse firewalls and operate in partially connected networks. Traffic can be encrypted, allowing hosts to be connected across an untrusted network. With weave you can easily construct applications consisting of multiple containers, running anywhere.
Docker Swarm and Weave can be primarily classified as "Container" tools.
"Docker friendly" is the top reason why over 44 developers like Docker Swarm, while over 2 developers mention "Easy setup" as the leading cause for choosing Weave.
Docker Swarm and Weave are both open source tools. Docker Swarm with 5.63K GitHub stars and 1.11K forks on GitHub appears to be more popular than Weave with 5.57K GitHub stars and 517 GitHub forks.
Docker, Bugsnag, and Dial Once are some of the popular companies that use Docker Swarm, whereas Weave is used by Excursiopedia, Tutum, and PlanetPass. Docker Swarm has a broader approval, being mentioned in 82 company stacks & 38 developers stacks; compared to Weave, which is listed in 11 company stacks and 4 developer stacks.
What is Docker Swarm?
What is Weave?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Weave?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.
After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...