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
67
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
110
Giving (and Taking) Back
miketheman
0
60
Where Do We Go From Here?
miketheman
0
160
What's In This Cookbook?
miketheman
0
58
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
120
Other Decks in Technology
See All in Technology
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
240
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
プロポーザルに込める段取り八分
shoheimitani
1
270
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
450
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
260
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
140
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
110
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
66
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Raft: Consensus for Rubyists
vanstee
141
7.3k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
53
Scaling GitHub
holman
464
140k
From π to Pie charts
rasagy
0
120
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
93
We Are The Robots
honzajavorek
0
160
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.