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
Observability For Serverless Workloads
Search
Ara
February 21, 2020
Programming
0
78
Observability For Serverless Workloads
What is it observability? How we can improve observability when it comes to serverless workloads?
Ara
February 21, 2020
Tweet
Share
More Decks by Ara
See All by Ara
CloudConf Italy - A Tale of Tail Latency
arapulido
0
77
Abrazando el cambio: Gobierno de Kubernetes como código con OPA y Gatekeeper
arapulido
0
62
Navigating the Sea of Local Kubernetes Clusters
arapulido
0
96
Cloud Services in Kubernetes - Discovering and Using Services with the Service Catalog and Kubeapps
arapulido
0
78
Telepresence - Seamless Development Environments in Kubernetes
arapulido
0
11k
Kubeless demo @ CNCF WG-Serverless meeting
arapulido
0
300
Securing the IoT - J On The Beach 2017
arapulido
1
160
Other Decks in Programming
See All in Programming
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
WindowInsetsだってテストしたい
ryunen344
1
150
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
360
ReadMoreTextView
fornewid
1
390
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
120
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
3
2k
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
330
無関心の谷
kanayannet
0
160
Using AI Tools Around Software Development
inouehi
0
1.2k
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
400
単体テストの始め方/作り方
toms74209200
0
440
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
250
Featured
See All Featured
Building an army of robots
kneath
306
45k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Being A Developer After 40
akosma
90
590k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
How GitHub (no longer) Works
holman
314
140k
Visualization
eitanlees
146
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Scaling GitHub
holman
459
140k
Side Projects
sachag
455
42k
Designing Experiences People Love
moore
142
24k
Transcript
Observability for Serverless Workloads Ara Pulido @arapulido
Developer Advocate at Datadog @arapulido at Twitter
[email protected]
About me
Observability
Observability Microservices Containers FaaS Serverless CI/CD ML Big Data
A bit of history
Monoliths
Different user expectations
Infrastructure monitoring
Oops!
Microservices
Infrastructure monitoring is no longer enough
Observability A measure of how well internal states of a
system can be inferred from knowledge of its external outputs
Logs Metrics Tracing
Logs Metrics Tracing Events User/Browser tests Data visualization ML Queries
Serverless
NO ACCESS TO THE UNDERLYING OS CHARGED BY EXECUTION TIME
/ MEMORY ALLOCATED IN MANY CLOUDS, RUNTIMES ARE A BIT OF A BLACKBOX Serverless
Logs Metrics Tracing Demo application https://dtdg.co/faas-sample
Demo application 1 face - No duplicates No faces >
1 face Duplicated
Demo application Search Faces Web app Index Faces Persist Data
Detect Faces
Demo application Detect Faces Search Faces Web app Index Faces
Persist Data
Demo application Search Faces Web app Index Faces Persist Data
Detect Faces
Demo application Search Faces Web app Index Faces Persist Data
Detect Faces
Demo application Search Faces Web app Index Faces Persist Data
Detect Faces
Demo application Search Faces Web app Index Faces Persist Data
Detect Faces
Logs Metrics Tracing
THE PLATFORM LOGS STDOUT, STDERR LOG AS MUCH AS POSSIBLE
(PART OF THE PLATFORM) Logs USE LOG FORWARDERS TO COLLECT THEM ELSEWHERE USE YOUR LANGUAGE LOGGING LIBRARY TO DO MORE COMPLEX STUFF
Logs Cloud Log System Log Forwarder Log system
Logs
Logs
Logs Metrics Tracing
Collecting Metrics
Collecting metrics Send batch Send batch Send batch
Cold start Cold start Execution context Collecting metrics
Cold start EXECUTION CONTEXT SHARES DISK ACROSS INVOCATIONS Cold start
Execution context Collecting metrics
Cold start EXECUTION CONTEXT SHARES DISK ACROSS INVOCATIONS Cold start
Send batch Execution context Collecting metrics
Cold start WE CANNOT KNOW WHEN IT IS GOING TO
BE GARBAGE COLLECTED Cold start Send batch Execution context Collecting metrics EXECUTION CONTEXT SHARES DISK ACROSS INVOCATIONS Send batch
Metrics in Logs Cloud Log System Log Forwarder Metrics
Metrics in Logs Cloud Log System Log Forwarder Metrics
Infrastructure Metrics
4 golden signals LATENCY TRAFFIC SATURATION ERRORS
DURATION INVOCATIONS THROTTLE ERRORS 4 golden signals
Serverless specific COLD STARTS WARM STARTS
BILLED DURATION - DURATION Serverless specific
Use metrics to save $$$ (and time) ESTIMATED COST PER
FUNCTION
Use metrics to save $$$ (and time) 700ms 500ms 300ms
128MB 192MB 320MB 128MB = $ 0.000001465 192MB = $ 0.000001565 320MB = $ 0.000001563
Business Metrics
EACH FUNCTION IS A POTENTIAL BUSINESS METRIC GATHER THOSE AND
USE THEM TO IMPROVE YOUR BUSINESS Business metrics
Business metrics
Logs Metrics Tracing
None
S1 S2 S3 S4 S5
S1 S2 S3 S4 S5 TRACE SPANS
Instrumentation with traces
No OS / No agent
No OS / No agent Use cloud specific libraries for
your functions
X-Ray traces
No OS / No agent Use cloud specific libraries for
your functions … but make sure you don’t break your current traces
Demo application Search Faces Web app Index Faces Persist Data
Detect Faces
Full app trace
Full app trace
Full app trace
Full app trace
Full app trace
Full app trace
No OS / No agent Use cloud specific libraries for
your functions … but make sure you don’t break your current traces or use logs!!
Logs Metrics Tracing
Take aways
USE LOGS FOR METRICS TO AVOID LOSING DATA ADD YOUR
FUNCTIONS TO YOUR CURRENT TRACES (if possible) LOGS ARE CHEAP. LOG A LOT. TRACK THOSE BUSINESS METRICS
Thank you! (we are hiring!) Ara Pulido @arapulido Demo app:
https://dtdg.co/faas-sample