Will a junior with only 1 mini project on his track record be able to educate you on Kubernetes? Or will it be a funny thing to read? Let’s find out!
WARNING: The following content has been written without any former research, anything written in this article might be completely wrong.
This will be a series of posts where a junior profile provides its unalterated opinion on something which is then either debunked or approved by our very own experts. In the case of Kubernetes, our own cluster buster will make a response on the end of this blog series.
What is Kubernetes used for
Kubernetes is a technology that is mostly used by operations people to shoot docker containers into the cloud.
I know this is a rather short introduction, but the goal is to explain the working of Kubernetes through the listed pro’s and cons. (aka. I just don’t like writing intro’s :D)
Yes. This is an easy one. I think there’s not a single article about Kubernetes that doesn’t mention this. So let’s continue the trend!
The code that we deploy to Kubernetes is wrapped into docker containers. A docker container is exactly the same as a virtual machine (This will get flagged as a mistake, since it isn’t 100% the same. But this way I don’t have to look up the difference again. Johan will have to explain it! #lifeHacks).
This means we have a little machine that executes our code. This doesn’t sound so special or useful at first, but it gets better!
Let’s imagine being at the supermarket at 5pm (what a lovely thought). There are tons of people inside and they all have to pass a cashier at once. But oh no, there is only 1 casheer… Things will be really slow, that one cashier will be so overburdened with work!
What could possibly solve this situation? Well…? A second cashier? A third? 5 more? YES!
It’s as easy as that. This is how Kubernetes fixes this problem! When there are too many requests (people in the supermarket). Kubernetes (the store manager) will just assign more containers, doing the same work (cashiers), to handle the load.
Another great perk of using Kubernetes is that the same configuration can work on any cloud platform. We just tell Kubernetes what we want happening in the clouds. How it talks to different environments is none of our business.
Let’s say we’ve got our WHOLE infrastructure on EvilCompany’s cloud platform, we’ve spent like 9001 hours setting it up. EvilCompany knows that everyone is bound to them, cause nobody wants to rebuild their whole infrastructure someplace else.
EvilCompany might now think: “well… The cost of rebuilding everything from scratch in another company would be too troublesome for our customers, maybe we should double our prices? What are they going to do about it? Mwuahahaha…”
With our Kubernetes configurations, we could just go to GoodCompany’s platform and deploy our same configurations there. Everything will get set up in exactly the same way! Isn’t that great?
I know this is an extreme example, but you get the idea, you’re not locked to anything, just because you’ve spent a long time creating it.
Not using the most out of the cloud environment
I can’t think of other cons than this one. I’ve only heard positive things around the office. Sooo…
While virtualization can be really handy and portable, it also reduces efficiency. If you commit to one platform and use it to the fullest, you’ll probably have a more efficient deployment with some awesome services that Kubernetes wouldn’t use. I hope this kind of makes sense? I have no idea what I’m talking about here. I’m just trying to glue some fragments together that I heard in the background in the office. I just couldn’t leave the cons part empty. It’s like refusing to leave an exam question empty and writing some nonsense!
Why did I decide to write this up?
When I left school, I remember saying: “YES! I’ll never have to write an essay ever again!” Well… Here I am nonetheless because our marketing guy inspired me to give my ToThePoint opinion on Kubernetes!