I honestly wouldn't put much faith in swarm being viable for long. Mirantis basically stopped working on it before they broke docker apart. The current docker company seems much more focused on developer experience tooling, not distributed systems. There are some longstanding swarm issues and bugs, particularly with changing configurations or one time jobs, that will probably never be fixed. I'd go straight to kubernetes and skip swarm personally. Stuff like k3s make kubernetes much easier to deploy at a small scale. Or I'd look at Hashi's nomad if something about k8s was really a blocker.