Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The Importance of Observability for Kafka-based...
Search
Jorge Quilcate
September 10, 2018
Programming
2.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Importance of Observability for Kafka-based applications with Zipkin
https://github.com/jeqo/talk-kafka-zipkin
Jorge Quilcate
September 10, 2018
More Decks by Jorge Quilcate
See All by Jorge Quilcate
Making sense of Event-Driven Systems
jeqo
0
230
Making sense of event-driven dataflows - Kafka Summit NYC 2019
jeqo
0
700
distributed tracing and observability for your integration platform - OUGN 2018
jeqo
0
140
Reactive Patterns and Distributed Systems - OUGN 2018
jeqo
0
150
Increasing Observability with Distributed Tracing
jeqo
0
330
Observando Sistemas Distribuidos - PeruJUG
jeqo
1
490
From Messaging to Logs with Apache Kafka - OUGN17
jeqo
0
480
Scale WebLogic, the Kubernetes way - OUGN17
jeqo
1
830
De Mensajería hacia Logs con Apache Kafka - PeruJUG
jeqo
1
450
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
130
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
260
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
170
Jetpack Compose メカニズム
skydoves
0
480
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
210
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.5k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
220
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
420
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
250
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
320
AWSに止められる覚悟してますか?
morizo_1984
1
360
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
420
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Speed Design
sergeychernyshev
33
2.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Balancing Empowerment & Direction
lara
6
1.3k
Transcript
The Importance of Observability for Kafka-based applications with Zipkin
[email protected]
Jorge Quilcate-Otoya @jeqo89 github.com/jeqo github.com/sysco-middleware Middleware team at SYSCO AS
focused on Data-Integration and Distributed Tracing
SYSCO AS Middleware department: Integration and Data Engineering We are
hiring! Partners: github.com/sysco-middleware sysco.no/
Agenda Event-Driven Applications and Kafka Observability and Distributed Tracing Simulating
Observability tools
Apache Kafka “Apache Kafka® is a distributed Streaming platform.”
Event-Driven Applications and Kafka Amazonas river
Event-Driven Architectural Style https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/event-driven
Service Collaboration and Dataflow Svc Svc Svc Svc Orchestration Event
Bus Svc Svc Svc Svc Choreography
https://www.slideshare.net/ConfluentInc/etl-is-dead-long-live-streams Kafka Ecosystem
Observability and Distributed Tracing Titicaca Lake
What is Observability? “In control theory, observability is a measure
of how well internal states of a system can be inferred from knowledge of its external outputs.” - Wikipedia
Observability is for *Unknown Unknowns* https://twitter.com/mipsytipsy/status/963956028940234752
Observability methods
Observability methods
Span = execution of a task Trace = tree of
spans Context Propagation = pass trace context between distributed components (e.g. HTTP Headers, Kafka-record Headers) Distributed Tracing Concepts
Demo Lab 01: Hello world to Distributed Tracing • Tracing
concepts • Brave instrumentation https://github.com/jeqo/talk-kafka-zipkin#lab-1-hello-world-distributed-tracing
Adoption approaches Annotation-based - Part of your code - Instrument
libraries first - Add custom spans on-demand - Check benchmarks Black-box
How does it work? Svc 0 Svc 1 tracer tracer
Collector Tracing System Tracing DB
Zipkin Architecture
Demo Lab 02: Tracing Kafka-based applications • Kafka-clients and Kafka-streams
instrumentation • Kafka Interceptors for Kafka Connectors https://github.com/jeqo/talk-kafka-zipkin#lab-02-twitter-kafka-based-application
Adoption approaches Annotation-based - Part of your code - Instrument
libraries first - Add custom spans on-demand - Check benchmarks Black-box - Agent-based model - Framework/Protocol support - Machine impact - Promising approach: Service Mesh/Sidecar Proxy
Service Meshes and Zipkin
#QOTD https://twitter.com/rakyll/status/971231712049971200
Simulating Observability tools Lima - Chorrillos
➔ Model your architecture ➔ Simulate interaction ➔ Generate Traces
➔ Visualize your system’s traffic with Vizceral “SimianViz/ Spigo” - Simulation Protocol Interaction in GO github.com/adrianco/spigo
"Monitoring Microservices: A Challenge" - Adrian Cockcroft
Models from Traces, e.g. Vizceral https://www.youtube.com/watch?v=jWpI8qzqNHk
Demo Lab 03: Spigo and Vizceral • Spigo for Simulation
of Architecture behavior • Zipkin for Tracing and Vizceral for Traffic Monitoring https://github.com/jeqo/talk-kafka-zipkin#lab-3-spigo-simulation
Takeaways ➔ If are doing Distributed Systems — using Kafka
or not — consider Distributed Tracing. ➔ Instrument libraries first, not your code. ➔ Experiment by simulating your deployment. ➔ How many models can you build from tracing data?!
References Papers - Dapper: https://static.googleusercontent.com/media/research.google.com /en//pubs/archive/36356.pdf - Canopy: http://cs.brown.edu/~jcmace/papers/kaldor2017canopy.pdf -
Automating Failure Testing Research at Internet Scale: https://people.ucsc.edu/~palvaro/socc16.pdf Posts: - Logging v. Instrumentation https://peter.bourgon.org/blog/2016/02/07/logging-v-instrument ation.html - Monitoring and Observability https://medium.com/@copyconstruct/monitoring-and-observability -8417d1952e1c - Monitoring in the Time of Cloud Native https://medium.com/@copyconstruct/monitoring-in-the-time-of-cl oud-native-c87c7a5bfa3e Tools: - Zipkin: https://zipkin.io/ - Brave: https://github.com/openzipkin/brave - Kafka Interceptors: https://github.com/sysco-middleware/kafka-interceptors - Spigo: https://github.com/adrianco/spigo - Vizceral: https://github.com/Netflix/vizceral
Thanks! Q&A github.com/jeqo/talk-kafka-zipkin github.com/sysco-middleware Machu Picchu