Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Learning to Love SOA
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Randall Degges
September 25, 2014
Programming
480
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Learning to Love SOA
A story about programming big things.
Randall Degges
September 25, 2014
More Decks by Randall Degges
See All by Randall Degges
How to Lose 500k in 5 Minutes
rdegges
0
600
Useful Cryptography, An Introduction
rdegges
0
860
12 Factors of Pain and Suffering
rdegges
3
1k
An Introduction to PASETO Tokens
rdegges
0
2.1k
JWTs Suck
rdegges
24
27k
Almost Everything You Ever Wanted to Know About Web Authentication in Python
rdegges
7
1.3k
Almost Everything You Ever Wanted to Know About Web Authentication in Node
rdegges
13
2.3k
WTF Are APIs?!
rdegges
4
960
Fuck It: Let's Have Fun - Building a Top Torrents API
rdegges
2
760
Other Decks in Programming
See All in Programming
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
setup-vp GitLab対応の裏側
naokihaba
0
140
Java 27新機能 / Java 27 new features
kishida
2
180
速習iPhone Duo対応
yuukiw00w
2
850
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.1k
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
210
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
160
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
600
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
700
カツオ、ご期待ください
suneo3476
0
110
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
1
140
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.2k
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
540
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
ラッコキーワード サービス紹介資料
rakko
1
5M
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Abbi's Birthday
coloredviolet
4
10k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
KATA
mclloyd
PRO
35
16k
Transcript
A story about programming big things. Learning to Love SOA
@rdegges @gostormpath
I’m Randall Degges Developer Evangelist at Stormpath Python / Node
/ Go Hacker
None
CNAM? Incoming Call: 818-217-9229 DEGGES,RANDALL
The Plan OpenCNAM DEGGES,RANDALL 818-217-9229
Mike: So… Wanna build it? Me: Sure… Why not?
None
Monolithic Architecture A single codebase that is responsible for handling
all site functionality.
Service Oriented Architecture Many codebases that each do one thing
and one thing only.
opencnam Github Repos • Public facing website. • Developer API.
• Developer documentation. • Billing logic. • Email stuff. • Telephony interconnect. Monolithic App
Load Balancer Web Server Web Server Postgres Request
None
None
Problems :(
None
opencnam-www Rendering templates. Sending POST requests to my backend. Decoupling
the Front End
Load Balancer Web Server Postgres Request opencnam Load Balancer Web
Server Request opencnam-www
None
Web Server Postgres
opencnam-auth • Create users. • Edit users. • Delete users.
Decoupling the Users
Backend Request opencnam Backend Request opencnam-www Backend Request opencnam-auth
None
opencnam-api • Telephony logic. • API logs. • API cache.
Decoupling the API
Backend Request opencnam-api Backend Request opencnam-www Backend Request opencnam-auth
opencnam-billing opencnam-www opencnam-auth opencnam-api OpenCNAM Services opencnam-logs opencnam-stats
What I’ve Learned
Small codebases are easier to work with.
Small codebases are easier to scale.
Small codebases are more fun.
You can write less code.
The hardest thing about SOA is... opencnam-auth
• User account storage / encryption. • Authentication. • Authorization.
• REST API management. • Social login. End User Your Webserver Stormpath API Stormpath
You’re the best! @rdegges @gostormpath