Jan Carlo Viray React · Angular · Node · Go · SQL · NoSQL · Cloud · Entrepreneurship

A year from now you’ll wish you started today — Karen Lamb

LinkedIn ·  Twitter ·  Github

PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017)

This year (2017) is when container orchestration and technology will be standard and clear winners for different use cases will rise. Here are my personal notes on common paas technology, comparing Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm.

tldr: Easy but no H/A? Dokku. Easy with H/A? Flynn. Easy with H/A and native out-of-the-box solution? Docker Swarm. Complex, but mature and scales infinitely - the big dawg? Kubernetes. Want to make the big dawg less scary but still use the big dawg? Deis.

Dokku

The mini PaaS! It is more like the quick introduction to the wonderful world of PaaS. This can be run anywhere, even on a small single server. For simple deployments, this is wonderful. It however, does not scale to multiple clusters. Many are happy with it for their simple projects. Note that this is single host only, so “high availability” is non-existent. Want to have a PaaS in minutes? Choose Dokku!

WHEN TO CHOOSE DOKKU: for hobby and side projects that do not require high availability. Easy to deploy applications, with little to no devops needed.

Flynn

The upgraded Dokku and is used by around a dozen companies. It can scale and has ability to be highly available, so there’s no single point of failure. It is noted as more production-ready than Dokku. Runs high availability databases within the platform in addition to stateless apps. Their goal is to have an easy to use unified solution, but at the cost of having a lot of components. Big plus: it has its own web dashboard! You can run in single server or scale out. It’s known for its flexibility and ease. This does not use CoreOS so you can run it on Ubuntu.

WHEN TO CHOOSE FLYNN: liked Dokku but need high availability and a web UI to manage your clusters? Choose this.

Deis

Similar to Flynn but has more companies using it in production. It is built around the Kubernetes and Docker ecosystems. For v2, you need Kubernetes as your foundation. It provides a more developer-friendly workflow built on top of Kubernetes.

WHEN TO CHOOSE DEIS:

Kubernetes

The big giant and the future of container orchestration. This is obviously the choice for more serious deployments. It is packed with 10 years of Google experience, plus it powered Pokemon Go deployment. This is undoubtly what you should choose if you are serious about scaling with container technology. Big caveit: it is very hard to setup that you will most likely want to host your application in a one-click solution that Google Cloud built.

WHEN TO CHOOSE KUBERNETES: you are serious pretty serious about deployment and you have serious scaling needs. You need something mature and battle-tested

Conclusion

Dokku           Hobby Projects / Prototypes that are not mission critical
Flynn           Small Production Deployments
Kubernetes      Huge Deployments and Mission Critical
Deis            Need a friendlier workflow on top of Kubernetes
Docker Swarm    Easy. Native.
If you have any questions or comments, please post them below. If you liked this post, you can share it with your followers or follow me on Twitter!