Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
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
220
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
320
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
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
220
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
210
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
1
120
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
820
メールのエイリアス機能を履き違えない
isshinfunada
0
220
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
660
yield再入門 #phpcon
o0h
PRO
0
940
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
490
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
140
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
Producing Creativity
orderedlist
PRO
348
40k
Building an army of robots
kneath
306
46k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Marketing to machines
jonoalderson
1
5.6k
Visualization
eitanlees
152
17k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
Art, The Web, and Tiny UX
lynnandtonic
304
22k
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