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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Smit Shah
April 21, 2015
Technology
0
130
Resillent By Design
How to build fault tolerant systems which can withstand failure and respond under load.
Smit Shah
April 21, 2015
Tweet
Share
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
130
Other Decks in Technology
See All in Technology
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
2.2k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
220
20260204_Midosuji_Tech
takuyay0ne
1
150
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
600
Context Engineeringの取り組み
nutslove
0
340
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
900
Cosmos World Foundation Model Platform for Physical AI
takmin
0
870
AWS Network Firewall Proxyを触ってみた
nagisa53
1
220
What happened to RubyGems and what can we learn?
mikemcquaid
0
290
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
150
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Statistics for Hackers
jakevdp
799
230k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
GraphQLとの向き合い方2022年版
quramy
50
14k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Producing Creativity
orderedlist
PRO
348
40k
The Curious Case for Waylosing
cassininazir
0
230
Believing is Seeing
oripsolob
1
54
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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