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
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
850
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
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
240
フィードバックで育てるAI開発
kotaminato
1
110
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
180
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
300
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
580
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
720
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
190
関数型プログラミングのメリットって何だろう?
wanko_it
0
150
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
15
3.1k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
500
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
260
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
890
The Pragmatic Product Professional
lauravandoore
37
7.4k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
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