Shared Kernel

Learn what a shared kernel is and how it enables bounded contexts to share their functionalities.

Let us assume that a team defines microservices based on the bounded contexts they find. As they start to build these services, they notice that many of them share the same logic.

During the construction of components such as microservices, we deal with concerns of logging, security, communication, and so on. These concerns are the common logic that can be shared between those components.

The space of this problem is shown in the image above. It depicts how two components that are evolved by two different teams share some logic (red lines). They have their own logic, but these two teams might create redundant ...