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
120
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
43
Ethical and Sustainable On-Call
binarycleric
6
2.4k
Liquid Markup
binarycleric
1
180
Other Decks in Programming
See All in Programming
Implementing Design Systems in Swift
seyfoyun
2
530
Criando a Woovi em uma semana
daniloab
0
120
Revisiting the Hotwire Landscape after Turbo 8 @ RailsConf 2024, Detroit
marcoroth
3
610
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
160
Balkan Ruby 2024 — How and why to run SQLite on Rails in production
fractaledmind
0
110
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
13
4.3k
Sheets API使ってみた
toshi0383
2
180
Deep Dive into React Stream/Serialize
mugi_uno
4
860
哲学史とモデリング
tanakahisateru
2
420
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
620
ペパボOpenTelemetry革命
pyama86
2
980
RustでAWS Lambda functionをいい感じに書く
taiki45
2
150
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
Bash Introduction
62gerente
605
210k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Code Reviewing Like a Champion
maltzj
515
39k
Visualization
eitanlees
137
14k
BBQ
matthewcrist
80
8.8k
Unsuck your backbone
ammeep
664
57k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
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!