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
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
470
0
Share
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
560
Useful Cryptography, An Introduction
rdegges
0
830
12 Factors of Pain and Suffering
rdegges
3
1k
An Introduction to PASETO Tokens
rdegges
0
2k
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
940
Fuck It: Let's Have Fun - Building a Top Torrents API
rdegges
2
740
Other Decks in Programming
See All in Programming
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
190
Building on Bluesky's AT Protocol with Ruby
mackuba
0
110
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
750
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.5k
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.8k
t *testing.T は どこからやってくるの?
otakakot
1
910
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
390
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
490
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
140
GoogleCloudとterraform完全に理解した
terisuke
1
190
cloudnative conference 2026 flyle
azihsoyn
0
120
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
180
Featured
See All Featured
Leo the Paperboy
mayatellez
7
1.7k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
770
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
32
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
790
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The Curious Case for Waylosing
cassininazir
0
340
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
420
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
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