Communicating across Kubernetes
This chapter is focused on exploring communication design patterns and technologies available to make independent applications work together.
A distributed solution architecture brings many independent services that are loosely coupled with each other and may have an entirely different life cycle. These services, despite the different business logic they provide, still have functions that are common and shared. These are non-functional capabilities such as logging, configuration management, debugging, security, tracing, and so on.
Application teams have a responsibility to translate business logic into working code. However, to deliver reliable applications, application teams have to spend a lot of time writing common code to deliver non-functional capabilities (as mentioned previously).
These common functions can be delivered outside of the main application logic by following a design and technical pattern known as the “sidecar”...