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.

Why use K8s?

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.

The History of Messaging

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.

A Single Message Queue System.

Then, the Publish/Subscribe Pattern was born.

The Pub/Sub Pattern

The publish-subscribe (or pub/sub) messaging pattern is a design pattern that provides a framework for exchanging messages that allows for loose coupling…

Rabieh fashwall

Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store