Presentation: Conquering Microservices Complexity at Uber With Distributed Tracing

Track: Microservices / Serverless (Patterns & Practices)

Location: Broadway Ballroom North, 6th fl.

Duration: 11:50am - 12:40pm

Day of week: Tuesday

Share this on:

Abstract

Microservices bestow many benefits on the organizations adopting them, but they come with a steep price: complexity of the resulting architecture. Distributed tracing is a recognized way of dealing with that complexity and getting back the visibility into our systems. At Uber we discovered that this visibility is not enough to be able to understand the system behavior. A trace for a single request from our mobile app may consist of several thousand data points. That’s too much information for engineers to weed through, especially in a high-stress outage situation when every minute counts. Complexity strikes again.

In this talk we present a methodology that uses data mining to learn the typical behavior of the system from massive amounts of distributed traces, compares it with pathological behavior during outages, and uses complexity reduction and intuitive visualizations to guide the user towards actionable insights about the root cause of the outages. The technique has proven to be highly effective in drastically reducing time to mitigation of high severity outages. The visualizations are built using the modules available in the open source as part of Jaeger, Uber's distributed tracing platform and an incubating project at Cloud Native Computing Foundation.

Speaker: Yuri Shkuro

Software Engineer @Uber

Yuri Shkuro is a software engineer at Uber Technologies, working on distributed tracing, observability, reliability, and performance problems; author of the book "Mastering Distributed Tracing"; creator of Jaeger, Uber's open source distributed tracing system (a CNCF project); co-founder of the OpenTracing and OpenTelemetry CNCF projects; invited expert in W3C Distributed Tracing Working Group.

Find Yuri Shkuro at

Tracks

Monday, 24 June

Tuesday, 25 June

Wednesday, 26 June