Anyone who works in IT, in any capacity connected to software will have heard Kubernetes more than once.
While the answer is obvious to anyone in the prog/dev space and many people outside, for others it’s really unclear. People keep trying to explain it to me but it sounds like gibberish. please ?
In: 483
TL;DR; It matters because Kubernetes is where the programs that run the company are running. Getting into all the reasons we want to run our company’s programs on Kubernetes is the part that is very difficult to ELI5 because there are a lot of features that make it useful over alternatives.
I am going to get into one reason for Kubernetes.
Instead of ELI5. I am going with explain like you are not in IT, but know a little bit about the computer your work or play games one. First, for the last 10 years or so, computers and even the phone you are posting to reddit on probably has 4-8 cores for running programs. Some programs can use several of those cores on their own. Some programs can only use one core, but since there are typically many programs running on your computer or phone it is still useful to have extra cores.
One other thing to add, is that it is extra work to develop a program to use multiple cores effectively. And, for many program it just isn’t beneficial.
Enterprise servers, to reduce costs of administration, power efficiency, and space savings, typically start at 32 cores and can have up to 192 cores in a single server. And, that number keeps going up. If we try to run the programs that a big corporation needs on one of those servers directly like we do on our PCs, either we are coordinating with a lot of people to make sure their programs won’t interfere with each other or we are wasting a lot of computing power.
This is where virtual machines come along. A virtual machine looks like a real computer to someone using it, but is actually just some of the computing power of the gigantic server described above split off to look like a separate computer. This is good because now each team who needs to run programs can have a virtual machine and don’t really need to coordinate with each other.
But, each team is still trying to figure out how many virtual machines they need and which programs to run on which virtual machine, and trying to do that efficiently, so they don’t waste money on computing resources.
I am not going too much into containers, read other responses. For purposes of my response, think of containers are a way to package a program for a computer to run.
Kubernetes runs these containers. The magic of Kubernetes is that you give it a container, tell it how much CPU and RAM that container needs (and several other pieces of information) and Kubernetes finds a place to run it on its pool of many virtual machines and/or servers. And, that is why it matters so much… Because that is where everything is running.
There are a lot of features of containers and Kubernetes that explain why we want to use it to run our programs. But, in answering the question “why does it matter so much”, it is because it is where we run our programs.
Latest Answers