What is our primary use case?
The use case in this organization is basically to containerize the applications. It covers both the operational and technology side. I work in the train industry here and that is a medium-sized enterprise. I'm a cloud architect and we are customers of Kubernetes.
What is most valuable?
A valuable feature is the management of containers and not having to worry about the high availability or scalability, especially when launching it in the cloud. I like that they provide a managed platform as a service, and you don't really have to worry too much about the master nodes that control the workloads. You tell them what you want: This is a minimum number of container instance, or a maximum number of container instance in this tier. It automatically gets taken care of. What I like about Kubernetes is that it actually manages the containers for you so there are no concerns regarding availability. If something fails, it launches another one and it scales out which is good.
What needs improvement?
That's a good question. I'm not that experienced but there are definitely challenges in Kubernetes, if you are managing the cluster yourself. So doing all the admin work, managing the masters, there are some learning curves involved. If some of those things could be simplified, that would be awesome.
For how long have I used the solution?
I've been dealing with this solution for around four years.
What do I think about the stability of the solution?
Kubernetes is quite stable and has pretty wide community support. Even the enterprises are using it so if you're talking about a stable release and the nightly build and those sorts of things, definitely the enterprise use the latest stable build. And then, when they come across any issues they probably look for the next release or maybe batches and whatnot. But I guess it's fairly stable and it's just like any other open source solution. And the fact is that it's backed by so many large companies, especially Google, so there's no stability problem at all.
What do I think about the scalability of the solution?
The scalability of this solution is fine.
How was the initial setup?
Deployment is pretty quick. I haven't done much of a bigger scale deployment as such, generally small to medium scale deployment and I've made use of the cloud-based approach. I don't have any issues there.
What other advice do I have?
I like the solution but it depends on the size of your workload. For example, Docker is good for a very small workload or maybe if you are just deploying using Docker, building and deploying your CICD-based tasks. But if you require a more complex solution, using containers or maybe when you have a high traffic workload, even with simple architecture, you might be looking at Kubernetes to optimize the workload.
There are other solutions on the market like Serverless, I would use that in preference to Kubernetes which can sometimes be difficult to manage. You can always make use of Serverless. For that reason, I would rate Kubernetes a seven out of 10.
Which deployment model are you using for this solution?