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
Resillent By Design
Search
Smit Shah
April 21, 2015
Technology
130
0
Share
Resillent By Design
How to build fault tolerant systems which can withstand failure and respond under load.
Smit Shah
April 21, 2015
More Decks by Smit Shah
See All by Smit Shah
How does Bundler bundle?
who828
0
130
KDE is unlike a coconut
who828
0
120
My Mom told me that Ruby isn't thread-safe
who828
0
140
Other Decks in Technology
See All in Technology
Cursor Subagentsはいいぞ
yug1224
2
140
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
Embeddings : Symfony AI en pratique
lyrixx
0
460
Cortex Codeでデータの仕事を全部Agenticにやりきろう!
gappy50
0
290
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
120
FlutterでPiP再生を実装した話
s9a17
0
250
マルチモーダル非構造データとの闘い
shibuiwilliam
1
170
Databricks Lakebaseを用いたAIエージェント連携
daiki_akimoto_nttd
0
140
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
270
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
0
200
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
120
Data Enabling Team立ち上げました
sansantech
PRO
0
260
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
140
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
From π to Pie charts
rasagy
0
160
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
The Curious Case for Waylosing
cassininazir
0
290
Everyday Curiosity
cassininazir
0
180
Typedesign – Prime Four
hannesfritz
42
3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
RESILIENT BY DESIGN SMIT SHAH github.com/who828 twitter.com/who828
None
WHY DO WE CARE ABOUT RESILIENCE?
HOW DO WE BUILD A RESILIENT SYSTEM?
WE MUST DESIGN FOR RESILIENCE FROM THE START
RESILIENT DESIGN PATTERNS
RESILIENT DESIGN PATTERNS ▸ Fail fast ▸ Bounding ▸ Circuit
breakers ▸ SteadyState ▸ Bulkheads
FAIL FAST
LITTLE’S LAW: L = Λ * W L = Length
of the Queue λ = Message Arrival Rate W = Mean Time in System
None
None
None
None
BOUNDING
BOUNDING ▸ Use Timeouts
BOUNDING ▸ Use Timeouts ▸ Limit Memory/CPU
BOUNDING ▸ Use Timeouts ▸ Limit Memory/CPU ▸ Use Explicit
Bounded Queues
CIRCUIT BREAKERS
None
BULKHEADS
None
None
STEADYSTATE
STEADYSTATE ▸ Avoid fiddling
STEADYSTATE ▸ Avoid fiddling ▸ Roll your logs
STEADYSTATE ▸ Avoid fiddling ▸ Roll your logs ▸ Have
a data archiving strategy
Software design today only talks about what systems should do.
It doesn’t address the things systems should not do. — Michael T. Nygard
PUTTING IT TOGETHER ▸ Fail fast ▸ Bound your resources
▸ Use circuit breakers ▸ Isolate failures
QUESTIONS?
REFERENCES Release It! The Art of Capacity Planning Thinking for
Programmers Responding in Timely Manner Reactive Service Levels Queuing Theory Calculator