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
eBPF in Microservices Observability at eBPF Day
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
JBD
October 11, 2021
Programming
2.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
eBPF in Microservices Observability at eBPF Day
JBD
October 11, 2021
More Decks by JBD
See All by JBD
eBPF in Microservices Observability
rakyll
1
1.8k
OpenTelemetry at AWS
rakyll
1
1.9k
Debugging Code Generation in Go
rakyll
5
1.7k
Are you ready for production?
rakyll
8
3k
Servers are doomed to fail
rakyll
3
1.6k
Serverless Containers
rakyll
1
300
Critical Path Analysis
rakyll
0
710
Monitoring and Debugging Containers
rakyll
2
1.2k
CPDD
rakyll
0
4.3k
Other Decks in Programming
See All in Programming
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.5k
Press start. Python's next generation.
willingc
PRO
2
100
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
510
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
510
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
540
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
400
Android CLI
fornewid
0
230
プロポーザルを書いてもらう
pvcresin
0
570
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
160
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
370
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
190
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
360
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
Making Projects Easy
brettharned
120
6.7k
Unsuck your backbone
ammeep
672
58k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Exploring anti-patterns in Rails
aemeredith
3
470
Ruling the World: When Life Gets Gamed
codingconduct
0
310
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
380
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Agile that works and the tools we love
rasmusluckow
331
22k
Transcript
@rakyll eBPF in Microservices Observability Jaana Dogan Principal Engineer, AWS
[email protected]
@rakyll About me • Not a Linux developer. • Working
on monitoring, observability and performance. • Multi-tenancy and microservices focus.
@rakyll
@rakyll How does eBPF work? process JIT compiler Verifier Sockets
TCP/IP BPF Maps code (accessible from the user space)
@rakyll Where can eBPF hook into? - Kernel and user
functions - System calls - Network events - Kernel tracepoints
@rakyll Challenges in microservices
@rakyll Challenges in microservices We don’t just monitor VMs or
processes. We monitor critical paths.
@rakyll What’s next? service service database storage service
@rakyll What’s next? service service database storage service
@rakyll Challenges in microservices Context matters. Downstream stack don’t have
context.
@rakyll What’s next? process Linux kernel process process M:N Problem
@rakyll What’s next? process Linux kernel process process RPCs M:N
Problem
@rakyll What’s next? process Linux kernel process process RPCs container
container M:N Problem
@rakyll What’s next? process Linux kernel process process RPCs container
container Kubernetes pod, ECS task M:N Problem
@rakyll Challenges in microservices First, we debug the path of
the request. We debug functions or syscalls secondarily.
@rakyll Challenges in microservices Too much data. Need runtime controls
to modify the collection.
@rakyll Challenges in microservices Instrumentation is a two-year roadmap. Data
is not consistent.
@rakyll Recap Out of the box instrumentation is critical. Networking
observability is essential. Extensibility in runtime is needed. Decoration and enrichment is needed.
@rakyll How does eBPF help?
@rakyll Network Diagnostics TCP, UDP, HTTP, gRPC metrics Inspect protocols
(MySQL, Postgres, ...)
@rakyll Network Diagnostics TCP, UDP, HTTP, gRPC metrics Inspect protocols
(MySQL, Postgres, ...)
@rakyll Service Maps
@rakyll Distributed Traces Automatically create trace span if a trace
header is present. Your job is to generate and propagate the header. GET /users HTTP/1.1 Host: users.service Accept-Encoding: gzip, deflate Connection: Keep-Alive Traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
@rakyll Continuous Profiling
@rakyll Extensibility
@rakyll Decorating with Context eBPF agent process JIT compiler Verifier
Sockets TCP/IP BPF Maps API Server
@rakyll Decorating with Context
@rakyll Several projects... - Cillium/Hubble - Pixie - Flowmill -
Prodfiler - Parca
@rakyll What’s next? - High level language? - More platforms
supporting eBPF? - Reusable eBPF event processors? - Signed programs?
@rakyll Thank you Jaana Dogan
[email protected]
@rakyll After party? Pixie KubeCon Happy Hour hosted by New
Relic Tomorrow, 8:30 PM PDT RSVP: pixiehh.eventbrite.com
@rakyll Runtime Extensibility eBPF agent process JIT compiler Verifier Sockets
TCP/IP BPF Maps code