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
74
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
53
Abrazando el cambio: Gobierno de Kubernetes como código con OPA y Gatekeeper
arapulido
0
59
Navigating the Sea of Local Kubernetes Clusters
arapulido
0
93
Cloud Services in Kubernetes - Discovering and Using Services with the Service Catalog and Kubeapps
arapulido
0
74
Telepresence - Seamless Development Environments in Kubernetes
arapulido
0
11k
Kubeless demo @ CNCF WG-Serverless meeting
arapulido
0
280
Securing the IoT - J On The Beach 2017
arapulido
1
150
Other Decks in Programming
See All in Programming
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
3.8k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
2.3k
SpringBoot3.4の構造化ログ #kanjava
irof
2
780
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
250
AHC041解説
terryu16
0
550
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
140
為你自己學 Python
eddie
0
540
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
8
1.3k
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
230
振り返れば奴(Cline)がいる
keiyagi
0
130
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
140
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
240
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
520
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
6
220
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Facilitating Awesome Meetings
lara
51
6.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Statistics for Hackers
jakevdp
797
220k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
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