Docker Swarm vs Octopus Deploy: What are the differences?
What is Docker Swarm? 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.
What is Octopus Deploy? Automated deployment for .NET. Octopus works with your build server to enable reliable, secure, automated releases of ASP.NET applications and Windows Services into test, staging and production environments, whether they are in the cloud or on-premises.
Docker Swarm and Octopus Deploy are primarily classified as "Container" and "Deployment as a Service" tools respectively.
"Docker friendly" is the top reason why over 44 developers like Docker Swarm, while over 26 developers mention "Powerful" as the leading cause for choosing Octopus Deploy.
Docker Swarm is an open source tool with 5.61K GitHub stars and 1.11K GitHub forks. Here's a link to Docker Swarm's open source repository on GitHub.
According to the StackShare community, Docker Swarm has a broader approval, being mentioned in 80 company stacks & 38 developers stacks; compared to Octopus Deploy, which is listed in 45 company stacks and 15 developer stacks.
What is Docker Swarm?
What is Octopus Deploy?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
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...
Using this in an environment with about 10 separate development teams. All the teams love this product and how easy it is to get started. It's very well put together, elegant, simple UI that is powerful to use, easy to understand and follow. I HIGHLY recommend this product to any shop.
It says it's for .NET and it's geared for that. But you could use it for just about any type of deployment given it's capabilities to deploy via FTP.
This is our CD platform. We use TFS for gated-checks and release builds. A release build packages all our components, pushes these packages to Octopus and triggers a release into our Development environment. A suite of integration tests are run and finally if all is successful the team gets a notification on Slack that a new release is available. This can then get promoted through all our non-production environments, Finally, we use offline deployments as we are not yet allowed to promote all the way to production from Octopus. Offline deployments are great as they allow us to retain our tried and tested deployment process but instead, humans become the tentacles when deploying in prod and pre-prod.