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 Scaling Environment
Search
Mike Fiedler
November 15, 2013
Technology
0
48
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
87
Giving (and Taking) Back
miketheman
0
52
Where Do We Go From Here?
miketheman
0
100
What's In This Cookbook?
miketheman
0
47
Treating Your Infrastructure Like Garbage
miketheman
2
1.7k
MongoDB - Operations Best Practices
miketheman
1
110
MongoDB in the Cloud - Amazon Web Services
miketheman
3
97
Other Decks in Technology
See All in Technology
uvを使ってストレスフリーな Python開発をしよう!
r74tech
0
230
社内アプリで Cloudflare D1を プロダクト運用してみた体験談(Tokyo)
haochenx
0
130
Cloud Service Mesh に触れ合う
phaya72
1
260
Azureの基本的な権限管理の勉強会
yhana
1
2.2k
require(ESM)とECMAScript仕様
uhyo
4
1k
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
160
MixIT 2024 - Pulumi : Gérer son infra avec son langage de programmation préféré
ju_hnny5
1
120
20分で完全に理解するGrafanaダッシュボード
hamadakoji
5
950
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
470
データベース03: 関係データモデル
trycycle
0
100
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
210
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
310
Featured
See All Featured
Embracing the Ebb and Flow
colly
80
4.2k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.4k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Docker and Python
trallard
35
2.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
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.