Started with 1 node acting as manager and worker at the same time. Then added more 2 nodes, basically 3 nodes all acting as manager and workers at the same.
Later kept 3 managers and 3 workers and now around 10 workers with the 3 managers.
The cluster is full of apps, celery workers, static apps or SSR.
To manage it I didn't use any UI. The CLI is really simple to use. Later to give less experienced people access to it i instant Portrainer.
It has never stopped working, either upgrading or messing around on production environments.
It just works.
The only and only complain I have id the way it mess around with IPtable rules I have. The docker swarm networking overrides them. There are several approaches, while they work, they always feel like a hack to be honest. But yeah, they work.
It's such a wonderful simple to use software that gets thing.