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
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Instrumenting Application Stack in Dynamically Scaling Environment
DMG212 AWS re:Invent 2013
Mike Fiedler
November 15, 2013
More Decks by Mike Fiedler
See All by Mike Fiedler
Fixing AWS with AWS
miketheman
1
140
HOW DO YOU KNOW iT'S WORKiNG
miketheman
0
120
Giving (and Taking) Back
miketheman
0
66
Where Do We Go From Here?
miketheman
0
170
What's In This Cookbook?
miketheman
0
60
Treating Your Infrastructure Like Garbage
miketheman
2
1.7k
MongoDB - Operations Best Practices
miketheman
1
130
MongoDB in the Cloud - Amazon Web Services
miketheman
3
120
Other Decks in Technology
See All in Technology
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
430
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
280
4人目のSREはAgent
tanimuyk
0
370
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
0
110
AI時代のエンジニアキャリアについて今一度考える
sakamoto_582
1
880
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
240
AWS Summit Japan 2026の振り返りと2027へ向けて / AWS Summit Japan 2026 Recap and Prospects for 2027
kaminashi
1
180
きのこカンファレンス2026_肩書きを外したとき私は誰か
yamasatimi
1
130
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
910
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
330
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
580
product engineering with qa
nealle
0
140
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.1k
Into the Great Unknown - MozCon
thekraken
41
2.6k
RailsConf 2023
tenderlove
30
1.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
380
WENDY [Excerpt]
tessaabrams
11
38k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Statistics for Hackers
jakevdp
799
230k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
160
Agile that works and the tools we love
rasmusluckow
331
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
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.