Ripple: discovering distributed service dependency graphs
Modern distributed systems are built from a web of interconnected services. This provides flexibility, but also creates hidden dependencies that can spread errors and cause cascading failures. Identifying the root cause of performance problems in such environments requires accurate service dependency graphs, but traditional approaches often fall short, especially when complex routing techniques such as Network Address Translation (NAT) obscure what is really happening.
In this TechTalk, Diogo Landau, Software/Performance Engineer & PhD Candidate at Utrecht University, introduces Ripple: a runtime system that constructs service dependency graphs at the process level without modifying the source code. Unlike existing methods, Ripple continues to operate reliably under NAT and other complex routing scenarios. By utilizing eBPF, Ripple injects lightweight identifiers into TCP connections, enabling services and processes to be accurately linked to one another.
Diogo demonstrates how Ripple works, presents its evaluation in multiple real-world scenarios, and explains why the system consistently achieves near-perfect precision and recall with minimal overhead, surpassing state-of-the-art systems.
Join us and see how Ripple makes root cause analysis in distributed systems faster, more reliable, and NAT-proof.