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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Randall Degges
September 25, 2014
Programming
470
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
580
Useful Cryptography, An Introduction
rdegges
0
840
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
950
Fuck It: Let's Have Fun - Building a Top Torrents API
rdegges
2
740
Other Decks in Programming
See All in Programming
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.5k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.4k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.3k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
170
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.4k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
160
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
120
はてなアカウント基盤 State of the Union
cockscomb
0
610
スマートグラスで並列バイブコーディング
hyshu
0
260
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
920
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How GitHub (no longer) Works
holman
316
150k
We Are The Robots
honzajavorek
0
250
We Have a Design System, Now What?
morganepeng
55
8.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
Designing Powerful Visuals for Engaging Learning
tmiket
1
420
A Soul's Torment
seathinner
6
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Crafting Experiences
bethany
1
190
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
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