DeveloperWeek 2020 – OPEN Talk: How Deep Systems Broke Observability

"Discover why traditional observability solutions are insufficient for deep systems and learn how tracing and automation can eliminate hypotheses and improve system performance in this talk on architecting for controllability and responsibility."

Key takeaways
  • Deep systems scale exponentially, with each added layer increasing the complexity and responsibility exponentially.
  • Observability is crucial to understand and debug deep systems, but traditional solutions are insufficient.
  • Tracing enables the ability to follow a transaction across service boundaries, providing valuable context.
  • Controllability is critical, as it enables developers to correct issues and improve system performance.
  • Deep systems necessitate new approaches to observability, focusing on tracing and automation to eliminate hypotheses.
  • Stress can be defined as responsibility without control, and it’s a significant issue in deep systems.
  • The speaker defines deep systems as architectures with more than four layers of independently operated services.
  • Scaling deep systems requires different tooling and technologies than scaling wide systems.
  • The speaker argues that deep systems are an inevitable transition for the software industry, and new approaches to observability and controllability are essential to manage this complexity.
  • The goal of observability is to shrink the gap between control and responsibility, and to automate the process of eliminating hypotheses.
  • The speaker highlights the importance of tracing in providing context about where in the system the problem is, and how it can be used to inform analysis of logs.
  • Many deep systems are characterized by unpredictable latency, errors, and throughput due to the complex interdependencies between services.