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
150
1
Share
Learning to Build Distributed Systems the Hard Way
Scandinavian Developer Conference 2013
Theo Hultberg
March 05, 2013
More Decks by Theo Hultberg
See All by Theo Hultberg
Datalakes at AWS Summit Stockholm 2018
iconara
0
100
Building a CQL driver
iconara
0
75
Chasing the Elephant
iconara
0
100
Learning to Build Distributed Systems the Hard Way
iconara
2
220
Learning to Build Distributed Systems the Hard Way
iconara
3
5.2k
Concurrency and Distributed Systems in JRuby
iconara
3
690
A Guide to the Post Relational Revolution
iconara
4
5.4k
Standing on the Shoulders of Giants with JRuby
iconara
4
170
Shortcuts Around the Mistakes I've Made Scaling MongoDB
iconara
4
170
Other Decks in Programming
See All in Programming
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
260
AI 開発合宿を通して得た学び
niftycorp
PRO
0
180
20260320登壇資料
pharct
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.2k
OTP を自動で入力する裏技
megabitsenmzq
0
130
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
110
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
110
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
430
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
260
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
320
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
130
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
690
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
660
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
140
Music & Morning Musume
bryan
47
7.1k
From π to Pie charts
rasagy
0
160
Believing is Seeing
oripsolob
1
100
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
A Modern Web Designer's Workflow
chriscoyier
698
190k
Ethics towards AI in product and experience design
skipperchong
2
240
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