Docker and Kubernetes? Is every other article still confusing you? This won’t!
I’m going to keep this Intro short and snappy (I can’t go over 3 minutes!), I should have written the blog first before committing to a read time .
There are many, and I mean many articles out there explaining Docker and Kubernetes. But most are geared towards teaching developers… Not me, this blog is for complete beginners/non-technical people, enjoy!
Table of contents:
- Let’s start with Docker (+Containers)
- Okay then… But what about Kubernetes
- Have I completed Docker and Kubernetes now
Let’s start with Docker (+Containers)
Docker is an online platform that allows developers to build, deploy, run, and update containers.
Now, what the hell is a container? Let’s imagine you are on your PC, and you develop a game online. You now want to share this game with family members + friends, but wait… It doesn’t work on their PC, but It worked on yours ?
This is because you made the game on your PC, which may have used dependencies (In simple terms a dependency is something your game would need to work, It is essential) that your machine already had. You may not even be aware of these dependencies, and this is where containers come into play.
You now decide to develop your game as a dockerized image (“Think of an image like a blueprint or snapshot of what will be in a container when it runs.” — Jacob Schmitt blog). Following this and testing the game works beforehand, you can now be assured that the game will also work on anyone else machine when running this container, even without all of those dependencies.
So to recap, a docker image is a ‘template/blueprint’ that determines what is in a container when it runs. A container is an isolated environment shielding your game from the other user’s system, not letting one another affect each other.
Okay then… But what about Kubernetes
You now know what docker is… But why is Kubernetes always mentioned as well?
Well, let’s say your game really takes off, and not only your friends/family are playing it, but thousands of people are too. But we can’t forget that some days the game will be quiet and could only be used by hundreds not thousands. This is where Kubernetes (Also referred to as K8s) comes in handy.
Kubernetes is a container orchestrator. Which essentially monitors the health, resources, and scalability of Containers (through clusters: What are clusters). So now when 3,000 people play your game, Kubernetes will scale up the required resources to handle 3,000 users, the same would be applicable If there were only 20 users. Only using the required resources which can save you a lot of money rather than keeping 5,000 people’s resources active all the time. K8s is also able to kill unhealthy containers (to simplify the explanation) and replace them when needed.
Have I completed Docker and Kubernetes now
Please understand this is not a deep technical knowledge of Docker and Kubernetes. This should give you the ability to understand and explain (Paired with a bit more research on K8s clusters and nodes of course)
My goal is just to provide a solid foundation to know what you are reading when reverting back to more technical articles, which you should notice immediately depending on your knowledge before reading this .
If this helped you understand or explain the core information of K8s + Docker, I’d love a follow to share my future content with you!