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
59
Where Do We Go From Here?
miketheman
0
150
What's In This Cookbook?
miketheman
0
57
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
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
290
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
4
2.5k
Introduce marp-ai-slide-generator
itarutomy
0
150
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
6
2.3k
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
1.1k
AI との良い付き合い方を僕らは誰も知らない
asei
1
290
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
580
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
440
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
110
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
17k
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.5k
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.5k
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
How to make the Groovebox
asonas
2
1.9k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
32
Speed Design
sergeychernyshev
33
1.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
220
Ethics towards AI in product and experience design
skipperchong
1
140
The Pragmatic Product Professional
lauravandoore
37
7.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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.