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
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
220
リッチエディターを安全に開発・運用するために
unachang113
1
380
Understanding Ruby Grammar Through Conflicts
yui_knk
1
100
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
QA x AIエコシステム段階構築作戦
osu
0
270
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
470
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
200
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
1.1k
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
590
Webinar: AI-Powered Development: Transformiere deinen Workflow mit Coding Tools und MCP Servern
danielsogl
0
110
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
190
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
150
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
770
Gamification - CAS2011
davidbonilla
81
5.4k
Producing Creativity
orderedlist
PRO
347
40k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
A better future with KSS
kneath
239
17k
Documentation Writing (for coders)
carmenintech
73
5k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Agile that works and the tools we love
rasmusluckow
329
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Code Review Best Practice
trishagee
69
19k
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!