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
140
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
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
APIテストとは?
nagix
0
170
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
1
170
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
200
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
1.6k
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
360
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
170
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
3.1k
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
410
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
490
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
660
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
3
2.2k
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
YesSQL, Process and Tooling at Scale
rocio
174
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Between Models and Reality
mayunak
4
320
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
210
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
400
A Modern Web Designer's Workflow
chriscoyier
698
190k
4 Signs Your Business is Dying
shpigford
187
22k
A Tale of Four Properties
chriscoyier
163
24k
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