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
Instrumenting Application Stack in Dynamically ...
Search
Mike Fiedler
November 15, 2013
Technology
0
64
Instrumenting Application Stack in Dynamically Scaling Environment
DMG212 AWS re:Invent 2013
Mike Fiedler
November 15, 2013
Tweet
Share
More Decks by Mike Fiedler
See All by Mike Fiedler
Fixing AWS with AWS
miketheman
1
130
HOW DO YOU KNOW iT'S WORKiNG
miketheman
0
100
Giving (and Taking) Back
miketheman
0
57
Where Do We Go From Here?
miketheman
0
140
What's In This Cookbook?
miketheman
0
56
Treating Your Infrastructure Like Garbage
miketheman
2
1.7k
MongoDB - Operations Best Practices
miketheman
1
120
MongoDB in the Cloud - Amazon Web Services
miketheman
3
110
Other Decks in Technology
See All in Technology
生成AI時代のデータ基盤
shibuiwilliam
6
3.8k
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
100
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.4k
人工衛星のファームウェアをRustで書く理由
koba789
1
770
AWSで始める実践Dagster入門
kitagawaz
1
510
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
0
320
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
130
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
430
エラーとアクセシビリティ
schktjm
0
1.1k
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
220
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Thoughts on Productivity
jonyablonski
70
4.8k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
Fireside Chat
paigeccino
39
3.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
BBQ
matthewcrist
89
9.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Why Our Code Smells
bkeepers
PRO
339
57k
Transcript
Instrumenting your Application Stack in a Dynamically Scaling Environment Mike
Fiedler, Datadog November 15, 2013
The Past • Server uptime • Intertwined applications • SPOFs
The Present • SOA • Scale or Fail • Data-driven
decisions
Modern application stack User LB Web Data
Failure is inevitable
Design to tolerate failure
Things that produce metrics business/service Services • applicatio n •
OS • instances API-based • S3, S*S • RDS, RedShift • etc Users • RUM
The Desire
CPU comparison (hypervisor)
CPU comparison (Agent)
My Stack • HAProxy • Apache HTTP • Bottle.py –
Custom python webapp • MongoDB • EC2 • Chef • Datadog • Users
Tracking Database operations
Moving up the stack…
Even higher…
Using metadata for more flavor
Replace an instance, keep the metrics
Enter…
Aggregating numbers
Comparing numbers
My App from bottle import route import pymongo import json
db = pymongo.Connection('mongodb://localhost').test @route('/insert/:name') def insert(name): doc = {'name': name} db.words.update(doc, {"$inc":{"count": 1}}, upsert=True) return json.dumps(doc, default=default)
Add 2 lines and you win! from bottle import route
import pymongo import json from statsd import statsd db = pymongo.Connection('mongodb://localhost').test @route('/insert/:name') @statsd.increment('fullstack.insert') def insert(name): doc = {'name': name} db.words.update(doc, {"$inc":{"count": 1}}, upsert=True) return json.dumps(doc, default=default)
Profit!
Correlation
Don’t be caught unaware
None
Questions Time!
We are sincerely eager to hear your feedback on this
presentation and on re:Invent. Please fill out an evaluation form when you have a chance.