DEV Community

Discussion on: Explain the need of Containerization like I am five?

Collapse
 
mcastellin profile image
Manuel Castellin

Life With Virtual Machines

Once upon a time in a faraway land, an evil school teacher would force her students to carry the English dictionary to class every day. The dictionaries were HUGE and heavy, and you wouldn't even be able to fit one in your backpack sometimes.

These young students were so worn out. Their backs would hurt all the time, and, even though they were using the dictionary only for a minute each every day, they still would have to carry it a long way from home and back, day, after day, after day...

Life With Containers

One day, a young boy named Docker, who was attending the evil teacher's class, had an idea: "Teacher? Why every one of us has to carry a HUGE and heavy dictionary all the way from home, only to use it just once in an entire day? Wouldn't it be better to have one dictionary in the middle of the class for every student to use? Whenever we need to find a word, we can just bring our notebook and pencil, search for the word, and then we can go back to our desk".

"NONSENSE!!" said the teacher, "Why would you want to use the same dictionary! What if it is busy when you need it? You are not the only boy in class, silly!"

So another classmate whose name was Kubernetes, had another idea: "Well, teacher, we can see how many times we have to queue for the dictionary, and if that happens too often, we can always bring another one, and scale up to two dictionaries, or three, or four, until we know we won't have to queue again!".

Luckily the teacher was also reasonableπŸ˜… and she listened to the two young boys. From that day the students didn't have to carry a heavy bag from home and they lived happily ever after.

To all five years old boys reading this forum...

hope you liked the story! πŸ˜„ To you Nishkarash, the great thing about Docker and containers is that it allows you to package applications so they won't need a whole lot to run and don't occupy all your system's resources all the time.

All containers running in your system will share the resources and use them only when needed (as opposed to a virtual machine where you need to allocate them exclusively).

If you then need to run the same containers at scale, serving thousands or millions of requests, then Kubernetes is a so-called Container Orchestrator, meaning it will take care of starting, stopping, replicating your container and organize them in a way to serve all incoming requests without to much latency.

If you laughed even a little bit reading this story...

I would appreciate you subscribing to my YouTube (link in my profile) and support my channel. There I want to educate developers about Docker, container technologies and DevOps, I think you will find the channel useful πŸ™‚ when you do, drop me a comment and say hello!

Have a great day!

Collapse
 
thesksamim profile image
thesksamim

hello .

Collapse
 
nishkarshraj profile image
Nishkarsh Raj

That is one of the best and simplest explanation of containerization I have ever read. ❀️
I would definitely subscribe to the YouTube channel.