The challenge: Help the understanding and concept of 'Containers' and 'Containerisation' technology.
The approach: Map and compare a real world example of a familiar system to the ideas of containerised workloads.
In the image below, I've used the humble 'Post Office' to illustrate how the various components of container-based workloads interact.
Post Office/Orchestrator (Kubernetes) = This is the overall system structure and framework of the container-handling operation. The postal service functions on a 'promise theory' which is, you pay and we give you our word that we'll deliver your package. You don't need to worry about how they are going to do it. Orchestrating the delivery and organisation of all the individual processes behind the scenes is handled by, in this example, Kubernetes.
Parcel/Container (Docker) = The parcel symbolises your container, which in our case is an imaginary box called 'Docker'. The contents of the the box is the important part, the 'goods'. All the post office needs to know is where the goods need to go and what kind of service you're expecting. You place your application code into containers and Kubernetes will handle the delivery and running of those containers.
Infrastructure and Transport: Under-pinning all of the ideas and rules of how a postal service should run are the foundations, the infrastructure. A post office needs a building with storage bins to support all of the containers and a way of tracking everything, usually with numbers and barcodes. Container technology is the same, you need storage and a way to process the delivery operations. Finally, transport, or in our case network. This part seems self-explanatory but you need a way for people to receive the goods. It wouldn't be useful for the post office to process your parcel but it wasn't available to someone potentially hundreds or even thousands of miles away. The network is required for the internal communications between components and ultimately, people to access and consume the service or application running from these services.
If you're new to containers, Docker, Kubernetes and containerisation, I hope this helped lay the foundations of such concepts. If you found it useful please let me know, and as always, feel free to share, use the content to help explain these concepts to others.