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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Smit Shah
April 21, 2015
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
140
KDE is unlike a coconut
who828
0
130
My Mom told me that Ruby isn't thread-safe
who828
0
140
Other Decks in Technology
See All in Technology
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
230
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
300
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
190
自宅LLMの話
jacopen
1
710
When Platform Engineering Meets GenAI
sucitw
0
170
Lightning近況報告
kozy4324
0
220
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
180
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
130
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
260
水を運ぶ人としてのリーダーシップ
izumii19
4
900
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.1k
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
310
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
The World Runs on Bad Software
bkeepers
PRO
72
12k
Paper Plane (Part 1)
katiecoart
PRO
0
9.2k
4 Signs Your Business is Dying
shpigford
187
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
870
Accessibility Awareness
sabderemane
1
140
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
610
Building an army of robots
kneath
306
46k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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