$30 off During Our Annual Pro Sale. View Details »
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
62
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
120
HOW DO YOU KNOW iT'S WORKiNG
miketheman
0
99
Giving (and Taking) Back
miketheman
0
54
Where Do We Go From Here?
miketheman
0
110
What's In This Cookbook?
miketheman
0
51
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
100
Other Decks in Technology
See All in Technology
SDNという名のデータプレーンプログラミングの歴史
ebiken
PRO
2
270
Android 15 でウィジェットピッカーのプレビュー画像をGlanceで魅せたい/nikkei-tech-talk-27-1
nikkei_engineer_recruiting
0
110
Hyperledger Fabric(再)入門
gakumura
3
6.7k
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
210
Entra ID の基礎(Japan Microsoft 365 コミュニティ カンファレンス 2024)
murachiakira
3
940
歴史あるRuby on Railsでデッドコードを見つけ、 消す方法@yabaibuki.dev #3
ayumu838
0
110
4年で17倍に成長したエンジニア組織を支えるアーキテクチャの過去と未来
sansantech
PRO
1
4k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
30
15k
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
140
LINEヤフーにおける超大規模プラットフォーム実現への挑戦と学び / Challenges and Lessons in Building an Ultra-Large-Scale Platform at LY Corporation
hhiroshell
1
540
SkiaとImpellerについて
moriya0130
0
220
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
5
1.3k
Featured
See All Featured
Being A Developer After 40
akosma
87
590k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Fireside Chat
paigeccino
34
3k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Agile that works and the tools we love
rasmusluckow
327
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Writing Fast Ruby
sferik
627
61k
RailsConf 2023
tenderlove
29
910
How to Think Like a Performance Engineer
csswizardry
20
1.1k
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.