DEV Community

Kubernetes - Explained Like You're Five

Marceli-Wac on September 21, 2019

Kubernetes - by definition is a container orchestration tool. That's really all there is to it, so let's break it down! Before that however I'm go...
Collapse
 
mtoto_lekgwathi profile image
Mapogo Lekgwathi

Yeah but what if my todo.exe isn't a Web application?

Collapse
 
fernandino143 profile image
Fernandino Silva • Edited

It's not uncommon that people that want to use k8s don't actually NEED it - k8s is just the latest trend and some people use it just because of that. In your case you might think of any other orchestrators like Nomad by Hashicorp. The article is very very good though.

Collapse
 
marceliwac profile image
Marceli-Wac

The above article gave an example of a To-do app for the simplicity of explanation.

I would imagine that any workload run on Kubernetes adheres at least in some way to a "connected" service architecture. While this could be something as simple as a program that takes some input X and produces output Y, using Kubernetes at the very least might provide you with the benefit of horizontal scalability.

As mentioned in one of the replies by Fernandino Silva, not every workload requires Kubernets. Running a standalone desktop application probably wouldn't need a whole cluster behind itself. It's back-end infrastructure on the other hand could very well be deployed via Kubernetes, especially in the case where the front-end app is just one of many clients.

Collapse
 
tolambiasapna profile image
Sapna T

Thanks for the draw attention towards Kubernetes.
I hope you might also like the great blog on Kubernetes awesome benefit in business --
Read & share: addwebsolution.com/blog/how-kubern...

Collapse
 
lishine profile image
Pavel Ravits

I understand that currently tools are built that come as a layer on top of kubernetes, or am I wrong and you must to do this kind of deploy with kub knowledge?

Collapse
 
marceliwac profile image
Marceli-Wac

There definitely are tools to manage Kubernetes clusters (Rancher being one of them). Another important service that you could look into is also the Web-UI (also known as Dashboard, see GitHub repository), which runs on the Kubernetes cluster itself and provides a nice web-based UI for monitoring and managing the k8s cluster.

On top of that, there are other services that work similarly to Kubernetes such as AWS ECS (Elastic Container Service) which allow you to deploy containerised applications without the need to configure clusters or servers they would run on. Essentially, ECS abstracts the whole infrastructure layer away, but as we all know this has several tradeoffs. Personally, I've found it significantly cheaper to run an entire cluster on AWS using kops as opposed to ECS, but for me the extra complexity of configuring the clusters was not a problem. For those who wish to just deploy their application, this might be a very viable option.