Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Release It!
Search
Jake Trent
August 18, 2009
Programming
54
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Release It!
I read this book by Michael Nygard, and here are some of my takes.
Jake Trent
August 18, 2009
More Decks by Jake Trent
See All by Jake Trent
How We Make The Design System
jaketrent
4
1.5k
Accessibility in the Pluralsight Design System
jaketrent
0
760
Design System Support Beyond React
jaketrent
0
690
Getting into Frontend Dev Today
jaketrent
0
650
Encourage Great Combinations
jaketrent
0
900
Getting into React
jaketrent
0
770
Ways to Compose in React
jaketrent
0
120
Anatomy of a Blot Post
jaketrent
0
100
Voice of the Leaders
jaketrent
0
99
Other Decks in Programming
See All in Programming
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
190
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
970
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
160
phperだってパンチカードでコーディングしたい
o0h
PRO
0
270
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Are APIs Still Relevant in the AI Era?
soyuka
0
450
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
140
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
22
22k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
110
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.6k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Leo the Paperboy
mayatellez
10
2.4k
Exploring anti-patterns in Rails
aemeredith
4
530
Design in an AI World
tapps
1
350
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Music & Morning Musume
bryan
48
7.4k
It's Worth the Effort
3n
188
29k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
Site-Speed That Sticks
csswizardry
13
1.6k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
The Mindset for Success: Future Career Progression
greggifford
PRO
0
530
Transcript
Release It! Design and Deploy Production-Ready Software Jake Trent 18
Aug 2009 by Michael T. Nygard
The Book Is thoughtful reading •Prompt evaluation: ◦Self ◦Project ◦Company
•Pragprog.com
Motivation For quality, production-ready software •Go home at night w/o
calls to your cell phone •Avoid un-needed cost: ◦Down time costs ◦Opportunity costs ◦Operational costs ◦Legal costs •Respectable work
The Need For periodic reminder of these issues •Code that
passes QA: ◦Can still fail miserably ◦Can still give users bad impressions ◦Can still inflict avoidable costs •Problems will happen
Stability Antipatterns
Integration Points Antipattern •Modern display of coupling: Systems talking to
systems •Every contact point is a possible failure point •Things not under your control ◦Network reliability ◦Data availability ◦External system correctness
Chain Reactions Antipattern •One failure often triggers another •Resource availability
often the catalyst •Turn into the system attacking itself
Cascading Failures Antipattern •Failure in one layer causes problems in
callers •Insufficiently paranoid integration points
Users Antipattern •"Users of a system have this knack for
creative destruction." •Each user consumes more memory •Some are a burden, others plain malicious
Blocked Threads Antipattern •"Adding complexity to solve on problem creates
the risk of entirely new failure modes." •Resource pool contention •Beware 3rd party API •Timeouts
Attacks of Self-Denial Antipattern •Plan for your own success •"Good
marketing can kill you at any time."
Scaling Effects Antipattern •Horizontal scale communication •Shared resource bottleneck
Unbalanced Capacities Antipattern •Performance will depend on your most constrained
resource •Not often discovered by QA •Consider proportions of types of transactions
Slow Responses Antipattern •Better to fail fast than to hog
resources only to eventually fail
SLA Inversion Antipattern •"When calling third parties, service levels only
decrease." •Consider real need and real cost •Service level can only be as high as the lowest subsystem
Unbounded Result Sets Antipattern •Test uses unrealistically small data sets
•Use limits on all queries
Stability Patterns
Use Timeouts Pattern •Prevent integration points from becoming blocked threads
•Retry for potential transient timeouts •Ability to move on without return (fail fast)
Circuit Breaker Pattern •Prevent operations rather than re-execute them •Note
each failure until switch is flipped •Use with timeouts - try again eventually •Visible to operations
Bulkheads Pattern •Find natural partitions ◦Thread groups ◦Resource pools ◦Hardware
Steady State Pattern •System should run w/o manual intervention •Human
fiddling leads to error •Purge data •Roll logs •At least move out of production environment
Fail Fast Pattern •Check availability before attempted use •Basic parameter
checking before loading expensive objects •"Don't do useless work"
Handshaking Pattern •Allow integration points to throttle themselves
Test Harness Pattern •Box independent of the "norms" of the
environment •As devious as possible, esp at network level •Out-of-spec •Stress
Decoupling Middleware Pattern •Decide on the plumbing at the "last
responsible moment" •Hardest to change later
"Paranoia is just good thinking." "It's unlikely that anyone will
notice your system's lack of downtime." Michal T. Nygard
Das Ende aprilandjake.com/content/release-it-stability-review/