As companies move from monolithic to multiservice architectures, existing techniques for debugging and profiling begin to break down. Previously, troubleshooting could be accomplished by isolating a single instance of the monolith and reproducing the problem. With microservices, this approach is no longer feasible because no single service provides a complete picture of the performance or correctness of the application as a whole.
Old approaches for distributed tracing include enforcing a policy across the development teams, such as writing manual traces inside the code. In serverless, cloud-based systems, new things can be achieved. Since some of the environment characteristics are known in advance, the tracing can sometimes be done automatically, which makes it far more powerful.
See the slides.Watch the video.