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
150
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
69
Ethical and Sustainable On-Call
binarycleric
6
2.5k
Liquid Markup
binarycleric
1
190
Other Decks in Programming
See All in Programming
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
160
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
500
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
930
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
200
CSC509 Lecture 02
javiergs
PRO
0
410
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
500
Le côté obscur des IA génératives
pascallemerrer
0
130
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
200
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Statistics for Hackers
jakevdp
799
220k
Done Done
chrislema
185
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Code Reviewing Like a Champion
maltzj
525
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
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!