Kubernetes, also known as K8s (where 8 represents the number of letters between K and S!) is the most widely used and trending open source tool nowadays. It is a system used for automating the deployment, scaling, and management of containerised applications.
Kubernetes is a powerful tool to use if you are building cloud native applications with numerous micro services. It provides a lot of out-of-the-box features that make deployment and monitoring easier (when compared to installing and managing applications directly on physical/virtual machines), and with more power than a single container runtime such as Docker.
Systems continue to evolve, especially in how they communicate: from a simple message queue as one source of communication, to complex (micro)services receiving and forwarding millions of messages per second.
I won’t start all the way back from carrier pigeons, don’t worry. 🐦 Systems started out as simple because the use cases weren’t demanding, and the Single Message Queue was the first messaging approach used at the beginning of system design era.
Then, the Publish/Subscribe Pattern was born.
The publish-subscribe (or pub/sub) messaging pattern is a design pattern that provides a framework for exchanging messages that allows for loose coupling…