Portainer? Decision making journey before start using Portainer
Here where I work until very recently, we were a very happy family. We were very happy with our pipelines, very happy with our microservices and most importantly we were very proud of our docker containers and Kubernetes. Everything worked like a swiss watch and we were proud of our family traditions.
One day an evil man stood at our doorstep and that scruffy-bearded man said, “There are alternatives to Kubernetes.”, we were shocked. Never thought that one day we would abandon our well-oiled Kubernetes machine. We were destined to live happily ever after with current technologies, we were using containers and Kubernetes what else the world wanted from us! Leave us alone!
Now happiness of the whole team was in jeopardy and I had to step up and prove the scruffy man wrong.
First, I dug in deep and started with defending from my trench; Kubernetes’ official website says that “Kubernetes provides you with a framework to run distributed systems resiliently. It takes care of scaling and failover for your applications, provides deployment patterns, and more.” What else would we want?
The scruffy-bearded man said, “Because it is a hot topic, because it sounds techy, because it is fashionable these days and because it is an in-demand, must-have skill. Only that is why you cannot think anything else but using Kubernetes, you have to wake up!”
Did I wake up and started with anti-thesis, yes. These days people proudly tell each other that they are using Kubernetes. If we were to say we were not using, we would look ancient. I needed to find a way to solve the issue without looking bad.
Why not use Kubernetes?
Kubernetes is complex, requires specific knowledge and experience to run.
Kubernetes is expensive, for small-scale solutions running three instances may become a burden when you can run the same solution from a single instance.
What are Kubernetes alternatives?
One article listed them, Amazon ECS, Nomad, Portainer, Docker Enterprise and Docker Universal Control Plane (UCP), Docker Swarm, conveniently I believe the same right away, Medium article could not be wrong, can it? Besides, I don’t know why but was in hurry to prove my point before the next daily scrum. I used Rancher and Docker Swarm in the past and I was ready to trade Kubernetes for Docker Swarm then a wise man whispered to me to check out Portainer. That is exactly where I started reading from portainer.io documentation and reading several articles online as well as watching YouTube videos with the title Portainer. I have learned that Portainer is a lightweight solution that helps create services on the Docker Swarm cluster. There are two versions, one is free with relatively limited functionalities and paid version with extended functionalities. Portainer offers a graphical user interface for containers and Swarm clusters for small to medium enterprise deployments. I saw some people compare Rancher with Portainer, Rancher acts like a kind of front end to Kubernetes.
You can add labels with Portainer. Portainer has a built-in template library. It is a step up from container / CLI management level to GUI for sure and helps quickly deploy a small selection of applications for people with a very limited command-line knowledge which is a great thing. But the question is now whether it is suitable for us or not. Does that very much depend on what you want to do?
If you already started using Kubernetes, you are on top of its technology and complexity, also familiar with Helm, prepared to put in the time, and want to use GUI probably you will go for Rancher.
If you are using a small number of containerised applications and already familiar with Docker Container, Docker Compose, or Docker Swarm concept and want to focus more on developing and delivering your product probably Portainer is the answer for you. You can monitor your cluster with Portainer. Pros of Portainer are, simple, good user interface, user-friendly, easy to set up, template support, and works on Windows and Mac.
Looks like Portainer worth the shot. I have already subscribed and started taking notes for installing on one of our servers. Should I go back to the team and bore them to death with details of my findings during the next meeting or should I just say “Portainer is an option worth the try”?
I shall do the latter.
While I reserve the right to change my mind in the future, I am happy to announce that stage one of the decision-making process is completed, and cannot wait to start using Portainer soon.
DevOps Engineer @ Finspire Technology