Modern applications can be found everywhere today. Distributed microservices, cloud-native, managed resources, and serverless are parts of this complex whole. But how can we keep track of so many elements in our production environments?
In these distributed environments, microservices are communicating with each other in synchronous and asynchronous ways, such as message queues (Kafka, Kinesis), HTTP calls, gRPC, and more. Distributed tracing has become a crucial component of observability — both for performance monitoring and troubleshooting.
1. Fundamentals of distributed tracing using OpenTracing and instrumentation techniques.
2. Hands-on experience of tracing messages in a containerized microservices environment