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
Smart Software Design (SOA Edition)
Search
Jon Daniel
April 20, 2016
Programming
0
140
Smart Software Design (SOA Edition)
Jon Daniel
April 20, 2016
Tweet
Share
More Decks by Jon Daniel
See All by Jon Daniel
Growth and Mentorship: Working with Junior Developers
binarycleric
0
59
Ethical and Sustainable On-Call
binarycleric
6
2.5k
Liquid Markup
binarycleric
1
180
Other Decks in Programming
See All in Programming
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
630
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
24
6.1k
gen_statem - OTP's Unsung Hero
whatyouhide
1
190
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
180
5年間継続して開発した自作OSSの記録
bebeji_nappa
0
170
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
2.1k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.2k
Making TCPSocket.new "Happy"!
coe401_
1
130
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
260
国漢文混用体からHolloまで
minhee
1
180
技術選定を未来に繋いで活用していく
sakito
3
100
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
13
5.8k
Featured
See All Featured
Code Review Best Practice
trishagee
67
18k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Six Lessons from altMBA
skipperchong
27
3.7k
Into the Great Unknown - MozCon
thekraken
37
1.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Designing for humans not robots
tammielis
252
25k
Faster Mobile Websites
deanohume
306
31k
How to train your dragon (web standard)
notwaldorf
91
6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
The Invisible Side of Design
smashingmag
299
50k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Transcript
Smart Software Design (SOA Edition)
Jon Daniel @binarycleric
chronicbuildfailure.co chronic build failure
None
None
I’m FUNEMPLOYED (hire me)
WARNING
This talk is still in BETA
Service Oriented Architecture
Building Software is Pretty Hard
SOA is Really Hard (but sometimes easier*)
Change Your Thought Process
Think Distributed
Stop Thinking About Commands
Start Thinking About Events
Publish Subscribe
None
Idempotency is Important
Universal Uniqueness
None
Single Responsibility Principle
Don’t Turn Your Services Into Mini-Monoliths
Monitor All The Things!
Mean Response Time is Useless
Median is a Little Better
95th, 99th and 99.9th percentile
Real Life Example
What Could Go Wrong?
What is Mission Critical?
Let’s Give it a Shot!
None
Cascading Failure
What breaks when other things break?
Defend Against Cascading Failure
Assume Every Integration Can and Will Fail
How Can We Fail Gracefully?
Can We Serve Stale Data?
Can We Report Events Instead of Commanding Services?
Your Failures Are Your Own
None
Plan For Failure and You’ll Achieve Success
¯\_(ϑ)_/¯ (because computers)
Thanks!