Lately I have had 2 leader's come to me with this question "Docker Swarm or Kubernetes?". Their teams were divided on what to use and I was being asked what is your preference and why?
Firstly: Its good to know that Docker Swarm is finally getting mindshare.
Second: Competition is always good.
Short Answer : Kubernetes
Long Answer : Use what fits well.
There is no doubt that Docker Swarm is super easy to setup and use and for a small team that just knows Docker and that wants to do a quick cluster of Docker instances. Also there are great Web UI's like Swarmpit and Portainer available that assist with the same.
But "Out of the box" Kubernetes gives you the above and some more but with has some complexity to it.
Eventually Kubernetes is used mostly with Docker containers so some might say that a comparison of Docker Swarm and Kubernetes is not really ideal. And I agree to some extent, when I look at those as products but when I look at an end to end solution they can be compared this way.
But from my perspective the single biggest factor for me to choose Kubernetes over Docker swarm is not a difference in capabilities , its more to do with trained personnel available to manage them as you will find a lot more engineers who know Kubernetes than Docker swarm.
But the lines are blurring between the capabilities of the two with time and I see that may be soon enough we will see them as strong competitor's to each other.