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
73
Ethical and Sustainable On-Call
binarycleric
6
2.5k
Liquid Markup
binarycleric
1
190
Other Decks in Programming
See All in Programming
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
7k
CloudflareのSandbox SDKを試してみた
syumai
0
170
All(?) About Point Sets
hole
0
200
AI 時代だからこそ抑えたい「価値のある」PHP ユニットテストを書く技術 #phpconfuk / phpcon-fukuoka-2025
shogogg
1
570
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
580
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
120
Private APIの呼び出し方
kishikawakatsumi
3
890
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.1k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
5
5.5k
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
180
関数の挙動書き換える
takatofukui
4
740
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
Featured
See All Featured
Navigating Team Friction
lara
190
15k
Six Lessons from altMBA
skipperchong
29
4.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile that works and the tools we love
rasmusluckow
331
21k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Git: the NoSQL Database
bkeepers
PRO
432
66k
GraphQLの誤解/rethinking-graphql
sonatard
73
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!