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
Learning to Build Distributed Systems the Hard Way
Search
Theo Hultberg
March 05, 2013
Programming
1
140
Learning to Build Distributed Systems the Hard Way
Scandinavian Developer Conference 2013
Theo Hultberg
March 05, 2013
Tweet
Share
More Decks by Theo Hultberg
See All by Theo Hultberg
Datalakes at AWS Summit Stockholm 2018
iconara
0
90
Building a CQL driver
iconara
0
53
Chasing the Elephant
iconara
0
89
Learning to Build Distributed Systems the Hard Way
iconara
2
210
Learning to Build Distributed Systems the Hard Way
iconara
3
5.1k
Concurrency and Distributed Systems in JRuby
iconara
3
650
A Guide to the Post Relational Revolution
iconara
4
5.4k
Standing on the Shoulders of Giants with JRuby
iconara
4
150
Shortcuts Around the Mistakes I've Made Scaling MongoDB
iconara
4
170
Other Decks in Programming
See All in Programming
AIネイティブなプロダクトをGolangで挑む取り組み
nmatsumoto4
0
120
プロダクト開発でも使おう 関数のオーバーロード
yoiwamoto
0
150
從零到一:搭建你的第一個 Observability 平台
blueswen
1
940
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
160
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
230
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
220
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
360
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
510
人には人それぞれのサービス層がある
shimabox
3
680
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
410
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
180
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
790
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
The Language of Interfaces
destraynor
158
25k
Building an army of robots
kneath
306
45k
Transcript
LEARNING TO BUILD DISTRIBUTED SYSTEMS THE HARD WAY @iconara NEW
and improved!
LEARNING TO BUILD DISTRIBUTED SYSTEMS THE HARD WAY @iconara NEW
and improved!
speakerdeck.com/iconara
Theo / @iconara
chief architect at BURT
FAILURE embrace it
SCALE how hard can it be? let’s worry about that
later.
KNOW YOUR LIMITS who’s the largest customer you could sign?
what would happen if you did?
BALANCE “customer” is a really bad shard key, find something
that distributes evenly & uniformly
SCALE OUT, NOT UP bigger boxes aren’t going to save
you <
START WITH TWO OF EVERYTHING going from one to two
is the hardest, force yourself to solve the scaling problem up front
START WITH TWO OF EVERYTHING you’ll solve the scaling problem,
and need less overcapacity THREE
LIMITS we’ll probably never run out of memory
BACK PRESSURE what happens when the system is working at
full capacity? what happens next?
PRODUCTION = QA production is where the weird shit happens,
can you test production traffic without deploying to production? =
MONOLITHS running all the things on the same box is
really fast. what could ever go wrong? 1:4:9
DECOUPLE UNTIL IT BREAKS moving things to separate services means
that you will be able to scale them independently
PROCESSING & STORAGE separate processing from storage, they almost never
scale together.
SCALE exponential scaling is also scaling, but you want it
as cheaply as possible
SCALE your CFO may not agree that O(2n) = O(n)
GÖTEBORG, DISTRIBUTED @gbgdistr meetup.com/gbgdistributed
KTHXBAI @iconara github.com/iconara architecturalatrocities.com burtcorp.com