We’ve been talking a lot about observability on the Packt Hub over the last few months. Back in March we spoke to Honeycomb CEO Charity Majors who told us why observability is so important and why it can be so challenging for engineering teams to implement. It’s clear it’s a big topic with plenty of perspectives – but one that could have a ripple effect across the software industry.
To get a further perspective on the topic, we spoke to Yuri Shkuro, who’s an engineer at Uber and author of Mastering Distributed Tracing (which was published in February) to talk about how distributed tracing can help engineers build more observable systems.
Yuri spoke in detail in the podcast about the value of observability in the context of complex distributed systems, as well as some of the challenges in implementing distributed tracing. As one of the creators of Jaeger, an open source tool built specifically for distributed tracing, he’s well-placed to comment on how the ecosystem is evolving and how organizations can start thinking more seriously about observability.
Read an extract from Yuri’s book here.
The episode covers:
- The difference between monitoring and observability
- Some of the misconceptions around distributed tracing
- Who can benefit from distributed tracing – from DevOps to SREs
- Practical advice for getting started with distributed tracing
Listen on SoundCloud:
“Tracing is conceptually a white box instrumentation technique. You cannot do tracing in an application by purely observing it from the outside, because that feature of context propagation is simply not possible – if you have 10 incoming requests into an application concurrently, and it does 100 outbound requests then how do you know which ones correlate to the incoming requests? That’s what context propagation allows us to achieve, it allows us to establish causality within events.”