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
Randall Degges
September 25, 2014
Programming
460
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
730
Other Decks in Programming
See All in Programming
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
1
330
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
5
2.9k
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
300
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
150
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
220
存在論的プログラミング: 時間と存在を記述する
koriym
5
780
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
960
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
540
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
モダンOBSプラグイン開発
umireon
0
200
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.6k
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
500
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
94
The Limits of Empathy - UXLibs8
cassininazir
1
290
Claude Code のすすめ
schroneko
67
220k
The agentic SEO stack - context over prompts
schlessera
0
730
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
170
Exploring anti-patterns in Rails
aemeredith
3
310
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
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