✍️ What is Kubernetes?
Let me attempt to explain it as simple as I can.
⚡️Kubernetes is a freely-available tool that is used to manage(deploy, destroy, scale, etc) containerized applications.
⚡️A containerized application is simply a regular application that won the lottery and is living the dream!
How do I mean!? Ever had the thought of what you’d do if you won a billion dollars? You’d most definitely resign from your current job and probably buy a house in one isolated
environment 🏠 that has all you need to enjoy life, oblivious of what happens to other people, and just do your thing. This is you living the containerized life just that yours is just an illusion, it’s high time you woke up bro! 😎
An imaginary colleague of mine was always complaining when his code failed to work in production that “But it runs on my machine” so we asked him if we should give the client his computer or deploy his computer to production! 🤷♂️
⚡️To avoid regular complaints about developers like my imaginary colleague, the concept of containerization was born!
⚡️A containerized application is one that has been bundled with everything it needs to run.
⚡️To make my imaginary colleague happy, we told him, since it runs on your machine, let us copy your machine’s environment and your code and package them together with the help of a software so it runs the same in production or any environment. This packaging produces what is known as an image.
⚡️You can think of an image as a template that is used to run instances of the packaged application.
⚡️So the application that is deployed through this image is known as a container; you can run as many containers as possible from this image.
⚡️Now imagine you want to deploy 2 instances of this application and want the two of them to be running at all times but then when your users increase dramatically you want to be able to deploy more instances(scale out) and reduce the number of instances as your users decrease(scale in). How can you possibly do this yourself? This is just a simple scenario, there are much complex scenarios that can play out as your application grows.
⚡️This is where kubernetes really shines and becomes the cynosure of all eyes. Kubernetes says I am an expert at managing containers, just tell me what you want and leave the rest for me.
⚡️So Kubernetes helps in automating all of these and more so that you can focus on other things.
⚡️Kubernetes is also referred to as k8s because there are 8 letters between k and s in Kubernetes as in k12345678s.
⚡️K8s is a nice to have skill that can open doors for you but don’t be someone who likes to jump from one skill to another simply because someone talked about it.
Please share ♻️ if you learnt from this.