Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting Superman X-Ray Vision: Bringing Observability to your Stream Processing

Getting Superman X-Ray Vision: Bringing Observability to your Stream Processing

02ff2dde723b6e26f4ef03ee6b3f6eb9?s=128

Ricardo Ferreira

March 26, 2019
Tweet

Transcript

  1. Getting Superman X-Ray Vision: Bringing Observability to your Stream Processing

    Ricardo Ferreira, Developer Advocate
  2. About Me: • Hi, my name is Ricardo Ferreira •

    Developer Advocate @ Confluent • Ex-Oracle, Red Hat, IONA Tech • Currently ~70% Dev, ~30% Ops • https://riferrei.net @riferrei
  3. Stream Processing Observability Challenges Best Practices for Kafka • Part

    1: • Part 2: Agenda • Part 3:
  4. Stream Processing Observability Challenges Best Practices for Kafka • Part

    1: • Part 2: Agenda • Part 3:
  5. Let’s Tweet the Song! 1. Access your Twitter account. 2.

    Use #dotcnz in your tweet for correct tracking of your guess. 3. The song name must be within brackets as shown below.
  6. Apache Kafka and Stream Processing O'Reilly Books

  7. Application details: • AWS and Terraform • Confluent Cloud Cluster

    • Spring Boot Application • Apache Kafka Connect • Kafka Streams / KSQL • Redis Cache • AWS Lambda • Amazon Alexa
  8. Application details: • AWS and Terraform • Confluent Cloud Cluster

    • Spring Boot Application • Apache Kafka Connect • Kafka Streams / KSQL • Redis Cache • AWS Lambda • Amazon Alexa You can find the source-code of this application here:
  9. Stream Processing Observability Challenges Best Practices for Kafka • Part

    1: • Part 2: Agenda • Part 3:
  10. Why Observability is Important for Modern Software Architectures? Because it

    allows us to focus on solving problems instead of finding where the problem is…
  11. OpenTracing has the elements to implement tracing transparently • Multiple

    programming languages • Support for multiple tracers • Large community supporting it
  12. Does it Works with Software Built using Microservices? Of course!

    A B
  13. So… What are the Problems? • Collaboration between teams •

    Microservices and Serverless • Binary Protocols with no Headers • Pub/Sub based Architectures • Source-Code Unavailability
  14. So… What are the Problems? • Collaboration between teams •

    Microservices and Serverless • Binary Protocols with no Headers • Pub/Sub based Architectures • Source-Code Unavailability Stream Processing Arena
  15. Stream Processing Observability Challenges Best Practices for Kafka • Part

    1: • Part 2: Agenda • Part 3:
  16. Headers Support on Kafka 0.11.X • Span context can be

    set there • All headers are persistent • Headers are agnostic of schema
  17. OpenTracing Contributions • Apache Kafka Instrumentation • Provides support for:

    ◦ Decorators ◦ Interceptors ◦ Spring Framework ◦ Kafka Streams You can find the source-code of this application here:
  18. Tracing Support for Closed JVMs • Jaeger Tracing support for

    REST Proxy, Connect and KSQL • Based on the interceptors model • Instantiate its own tracers based on JSON configuration file set as a environment variable You can find the source-code of this application here:
  19. 19 Please Stay in Touch: @riferrei riferrei riferrei ricardo@confluent.io https://riferrei.net

    https://cnfl.io/slack
  20. None