So I was casually browsing Twitter this morning, and happened to get tagged on a post asking if there are any alternatives/competitors to Kubernetes, and a few people replied Docker Swarm, HashiCorp Nomad, and some even said Portainer. Interestingly, no one mentioned AWS ECS (which in my view is really the only competitor to Kubernetes).
Let me make one thing clear up front, Portainer is NOT a competitor to any of these products, for the simple reason that we are not an orchestrator. We are a centralized container management platform for all of the aforementioned orchestrators.
But here is where things get a little murky.
Docker Swarm as a Kubernetes Alternative
Docker Swarm, for all the love it STILL gets (we see +ve month on month adoption of Swarm and over 50,000 Portainer users are using it!), is really a half-finished project. It has no notion of users or RBAC, and as such, is not something enterprises (or anyone that needs granular security) should really consider. BUT Portainer on top of Swarm; well we add that missing access control layer, making it more enterprise-ready. Hence the confusion.
One thing though, Docker Swarm (or more accurately, moby swarmkit) is now massively undermaintained. There are many bugs that go unpatched (bugs on the swarmkit repo go stale), its capabilities/features seem quite "frozen in time", and even Docker themselves dont actively promote it / talk about it.
Swarm appears to be an orphan, under the control of Mirantis, who really just wants to focus on Kubernetes. If Swarm works for you, then you will absolutely enjoy its simplicity, but be aware there is no way of officially obtaining support for it, and if you hit a bug, chances are it won't get fixed anytime soon. Thankfully, its simplicity also means that it doesn't have that many bugs, hence it's loyal following.
Kubernetes vs Nomad
So, in the enterprise space, there really are only two supportable options, Kubernetes and HashiCorp Nomad. And by far, the mindshare sits squarely with Kubernetes. Heck, the CNCF landscape shows over 1000 tools focussed on enhancing Kubernetes (Portainer is one of them), and there is probably only a handful that supports Nomad (Portainer is also one of them).
Kubernetes - the orchestrator of choice
In our view, right now, Kubernetes is the orchestrator of choice for enterprises. It's the one with all of the tooling around it. It's offered as a service by almost all of the cloud providers, and it has a complete ecosystem of professionals wanting to get certified in it.
Back onto AWS ECS, and why I think it's the only real Kubernetes competitor. ECS has been around the longest, and for good reason.. it just works. Sure it locks you into the AWS eco-system, but given AWS has a large % of cloud market share, it's interesting that it isn't seeing a resurgence of popularity as people hunt for easier solutions than Kubernetes.
My advice.. use whatever works for you. If your team is not sufficiently equipped to deal with the complexity of Kubernetes, then Docker Swarm is fine, and so too is Nomad. Heck, even standalone (non-orchestrated) Docker Hosts are a good way to start. There is nothing worse than your first experience of containerization being a negative one due to the overwhelming nature of Kubernetes. This is why Portainer is so focused on being orchestrator agnostic, so we can support any organization, across any level of maturity, and we do that with a consistent UX, so once you start using Portainer, the transition to any other orchestrator is, well, easier.
Anyway, just my 2c.