A Complete Guide to deployment, logging, distributed tracing, performance, and metrics monitoring including cluster health.

Are you looking to implement observable microservices but clueless as to how to make them work with Kubernetes? Well, well… This could be the blog you have been searching for.

First, let us understand what observability is. This term originated in control system engineering and was defined as “a measure of how well internal states of a system can be inferred by knowledge of its external outputs.” In simple terms, observability means adequate insights into a system facilitating corrective action.

There are three main pillars of observability:

  • Event Logs: A record of an event that happened in the system. Events are discrete and contain metadata about the system when they occur.
  • Tracing: The system usually consists of many parts/components that work cohesively to provide certain meaningful functionality. For a particular functionality, tracing of request and response flow across distributed components is critical for effective debugging/troubleshooting.
  • Metrics: Performance of the system measured over a period of time. These indicate the service level of a system.

Now the question is, how do we get this implemented in a Kubernetes cluster for our microservices components?

Microservices - Kubernetes App

Below is an example that can act as a guide for your microservices-based production app.

Let us consider a microservice app that provides weather information for a given city.

  • Weather-front: Component that comprises frontend UI to input a city name to view the weather info. Please see the screenshot above.
  • Weather-services: Component that takes the city as an input and calls an external weather API to retrieve weather details
  • Weather-db: This component is the Maria database component where weather data, that is pulled in the background for the city being followed, is stored.

#tutorial #microservices #kubernetes #observability

Microservices With Observability on Kubernetes
1.25 GEEK