Jaeger vs Zipkin vs Tempo - Tracing Tools Compared
Distributed tracing tools come up constantly in platform and SRE interviews because picking one says a lot about how you think about scale, cost, and operational overhead. This question is less about trivia and more about whether you can match a tool to a real environment.
The answer interviewers want
Jaeger is the go-to choice for Kubernetes environments. It handles high throughput well and has native Kubernetes operators, which makes it a natural fit if you're already running everything on k8s and want tracing that's managed the same way as the rest of your cluster.
Zipkin is the lightweight option. It has a simpler setup and lower resource usage, which makes it a good fit for smaller distributed systems where you don't need Jaeger's throughput ceiling or its Kubernetes-native tooling.
Tempo is the newer entrant. It's Grafana's tracing backend, and it's built to work closely with the rest of the Grafana observability stack (metrics, logs, dashboards) so you're not stitching together separate tools for correlation. The detail most people skip: Tempo uses object storage under the hood, which means significantly lower costs for long-term trace retention compared to the index-heavy storage models older tracing backends use.
So the short version: Jaeger for Kubernetes-native, high-throughput environments. Zipkin for smaller systems where simplicity and low resource footprint matter more than scale. Tempo when cost-effective long-term retention and tight integration with Grafana's stack are the priority.
Why interviewers ask this
This question screens for whether you've actually operated a tracing backend versus just read the README. Anyone can name three tools; fewer people can explain the operational tradeoffs: resource footprint, storage cost at retention scale, and how well it fits the rest of your observability stack.
Follow-ups to expect
"How does trace retention cost scale differently between these tools?" Tempo's object storage model avoids the heavier indexing costs that drive up storage spend in other backends, which matters a lot once you're retaining traces for weeks or months instead of days.
"Would you run two tracing backends in parallel during a migration?" It's reasonable to mention that teams often run an old backend alongside a new one during cutover to validate trace completeness before fully switching, though the source here doesn't go into migration mechanics.
"What would push you away from Jaeger even in a Kubernetes shop?" If the team is small and doesn't need Jaeger's throughput or operator-driven complexity, Zipkin's lighter setup can be the more pragmatic call.
The common wrong answer
Candidates often answer with a feature checklist pulled from marketing pages and never mention cost or operational fit. They'll say "Jaeger is powerful" or "Tempo is modern" without connecting the choice to what the environment actually looks like: cluster setup, team size, retention requirements, and whether the tool needs to plug into an existing stack rather than stand alone.
Prefer it spoken? Watch the 30-second answer on YouTube