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
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
11
6.8k
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
9.3k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.2k
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
220
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
440
Hack Claude Code with Claude Code
choplin
8
2.8k
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
6.7k
AIともっと楽するE2Eテスト
myohei
9
3.1k
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
1
240
効率的な開発手段として VRTを活用する
ishkawa
1
180
コーディングエージェント概観(2025/07)
itsuki_t88
0
120
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Six Lessons from altMBA
skipperchong
28
3.9k
Music & Morning Musume
bryan
46
6.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
It's Worth the Effort
3n
185
28k
Writing Fast Ruby
sferik
628
62k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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!