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
0
440
Learning to Love SOA
A story about programming big things.
Randall Degges
September 25, 2014
Tweet
Share
More Decks by Randall Degges
See All by Randall Degges
How to Lose 500k in 5 Minutes
rdegges
0
480
Useful Cryptography, An Introduction
rdegges
0
730
12 Factors of Pain and Suffering
rdegges
3
910
An Introduction to PASETO Tokens
rdegges
0
1.8k
JWTs Suck
rdegges
24
26k
Almost Everything You Ever Wanted to Know About Web Authentication in Python
rdegges
7
1.2k
Almost Everything You Ever Wanted to Know About Web Authentication in Node
rdegges
13
2.1k
WTF Are APIs?!
rdegges
4
900
Fuck It: Let's Have Fun - Building a Top Torrents API
rdegges
2
680
Other Decks in Programming
See All in Programming
MySQL初心者が311個のカラムにNot NULL制約を追加していってALTER TABLEについて学んだ話
hatsu38
2
150
Duke on CRaC with Jakarta EE
ivargrimstad
1
380
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
260
Live Coding: Migrating an Application to Signals
manfredsteyer
PRO
0
130
開発者フレンドリーで顧客も満足?Platformの秘密
algoartis
0
250
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
240
Road to Ruby for A Linguistics Nerd
hayat01sh1da
PRO
0
390
20250426 GDGoC 合同新歓 - GDGoC のススメ
getty708
0
120
データベースの技術選定を突き詰める ~複数事例から考える最適なデータベースの選び方~
nnaka2992
3
3k
External SecretsのさくらProvider初期実装を担当しています
logica0419
0
120
Serving TUIs over SSH with Go
caarlos0
0
810
生成AI時代のフルスタック開発
kenn
8
1k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Thoughts on Productivity
jonyablonski
69
4.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The World Runs on Bad Software
bkeepers
PRO
68
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
24
2.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How STYLIGHT went responsive
nonsquared
100
5.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
620
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
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