How to bring causality to the forefront in Spring services and systems? When building and running complex systems, we encounter multiple options, and various tools address causality concerning service-to-service invocation. Traces, Workflows and Service Meshes provide insights into causal relationships. They make dependencies between different services, events, and transactions visible. Let’s dive into the technical choices available to make causality visible in our systems and see how they integrate with Spring services. The session includes examples of Dapr workflows, displaying collected traces in Jaeger, Istio’s call graphs with Kiali. We delve into the purpose of causality in each tool, discussing their differences and similarities.
Discovering how operators and application engineers perceive causal relationships differently is not just insightful—it’s a key factor that drives better collaboration and communication among engineering teams. This, in turn, leads to more effective system design, debugging, and troubleshooting.