BretFisher / awesome-swarm

All the awesome tools, docs, and training on Docker and Mirantis Swarm Mode (SwarmKit)
Creative Commons Zero v1.0 Universal
429 stars 28 forks source link

dockerswarm.rocks is deprecated #34

Closed d630 closed 6 months ago

d630 commented 7 months ago

I noticed that the dockerswarm.rocks website listed here is deprecated as of december 2023. They say, "Kubernetes simply won" and "it's not sensitive to build a new product using Docker Swarm Mode".[1] Can you recommend an in-depth discussion about whether or not Docker Engine together with Swarm should be used in production on this topic? Or maybe you guys could take a stand?

[1] https://dockerswarm.rocks/swarm-or-kubernetes/

BretFisher commented 7 months ago

Comparing these two orchestrators has been a common question and discussion for over 5 years, and I've discussed it dozens of times on my YouTube Live show, in my Udemy course Q&A's, and my blog. What I don't have is a definitive, updated, full FAQ on what you're looking for.

In our Discord, we have a bi-monthly Swarm Fans meetup, where people using Swarm discuss their solutions to common problems in the 2nd (or 3rd behind Nomad) most popular container orchestrator. You're welcome to join.

The bottom line is, if Swarm meets your needs, then great, keep using it. There's no single container orchestrator for everyone, and people that try out Swarm first, might stick with it, or might find they need something more advanced and move to Kubernetes.

Swarm gets features and fixes in each Docker release (which I talked about in our Discord and last Swarm Fans meetup recently). People still buy my Swarm courses daily. In nearly every Q&A live stream I have, people ask about Swarm... so I get a sense that plenty of people still find it helpful and solve problems with it. It just doesn't have a billion-dollar industry of hundreds of companies trying to sell solutions for it (like Kubernetes).

Sebastián Ramírez is great, and Swarm fans love his work on that site. It's too bad he felt he needed to post those comments, and you can see by the thread that not everyone agrees.

s4ke commented 7 months ago

There is not much to add to what Bret already wrote here. It all boils down to this in my opinion:

The bottom line is, if Swarm meets your needs, then great, keep using it. There's no single container orchestrator for everyone, and people that try out Swarm first, might stick with it, or might find they need something more advanced and move to Kubernetes.

At my company, we are and will continue to be using Docker Swarm in production. We have been burnt by a very bad k8s experience and actually thought that Orchestration was not for us. At first we were scared to try out Docker Swarm because of the misinformation around its future that keeps getting brought up. Turns out it does everything we need it to do. I doubt that we will outgrow it anytime soon.

P.S.: While we are currently not using Kubernetes, this does not mean we will never. It is a good solution for many and it does exist for a reason.

tomdaley92 commented 7 months ago

I came here because I'm confused by what's stated here. It's sad to see how the rebranding confusion has plagued even the best of us.

Forgive me if I sound like a broken record, but Docker Swarm (classic) is what Mirantis picked up, was it not? That's the old Enterprises offering that came well before swarm mode was integrated into the docker engine.

Docker Swarm mode is a completely different product that's built in to the docker engine and uses the Moby swarmkit repo as upstream, and is still active and maintained not owned my Mirantis, right? Am I mistaken?

We still use docker swarm mode in production at work and I use it outside of work in my homelab. Not planning to move to Kubernetes anytime soon. Just upgraded to Docker major version 25 and its still rock solid and I recommend for small teams/projects. We use Traefik V2 on swarm for reverse proxy and tls termination, and ACME works perfectly with internal CA and external Let's encrypt. All our logging and metrics agents are also sidecar containers on swarm. Another agent we utilize and love is swarm-cronjob so that we can have literally everything on swarm from 24/7 scaled-up services to ephemeral jobs that run on a strict schedule. All of our devops tooling: Our ci tool, our build artifact repository, Loki, grafana, Prometheus etc. all run on swarm. Zero downtime deployments and swarm's runtime secrets is still super beneficial even if it's just a single node cluster. The docker-compose file format combined with Ansible's configuration management makes for a :fire: devops experience as well.

It's no argument that Swarm mode does not get as much love as K8s but most of the technical hurdles with it have been solved by now and any key missing features have been (and still can be) implemented by using the sidecar container pattern. I would say there's never been a better time to use Swarm Mode.

As far as other orchestration alternatives to Kubernetes, there's a nice middle ground one from Hashicorp, called Nomad I believe.

BretFisher commented 7 months ago

Docker Swarm "classic", which was installed as containers on top of Docker Engine, isn't used/supported by anyone I know.

Docker Swarm Mode, or just Swarm, which is built into all Docker Engine installs, is indeed what was built into Docker Enterprise, which was acquired by Marantis (they only acquired the closed-source enterprise solution.) Docker and Mirantis have maintained the SwarmKit repo since (and downstream integrations like Docker CLI/Engine features for Swarm) and Mirantis has provided business-level Swarm support since 2019.

tomdaley92 commented 7 months ago

Thank you for the clarification @BretFisher !

s4ke commented 6 months ago

@tiangolo has graciously adapted the wording and is now linking to this repository. Closing this issue as it seems resolved.