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
420
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
380
Useful Cryptography, An Introduction
rdegges
0
630
12 Factors of Pain and Suffering
rdegges
3
810
An Introduction to PASETO Tokens
rdegges
0
1.5k
JWTs Suck
rdegges
24
25k
Almost Everything You Ever Wanted to Know About Web Authentication in Python
rdegges
7
1k
Almost Everything You Ever Wanted to Know About Web Authentication in Node
rdegges
13
2k
WTF Are APIs?!
rdegges
4
850
Fuck It: Let's Have Fun - Building a Top Torrents API
rdegges
2
630
Other Decks in Programming
See All in Programming
Rust.Nagoya #1
codemountains
0
170
Product Management LT会_クアンド新家
shinshin
0
210
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
Introduction to GitOps
hwchiu
0
110
CSC307 Lecture 08
javiergs
PRO
0
330
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
Temporalを取り巻く仕様を整理する
sajikix
0
110
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
Terraformテスト入門
msato
0
530
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
ドメイン駆動設計の実践
masuda220
PRO
17
5.2k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
36
13k
How to train your dragon (web standard)
notwaldorf
79
5.5k
The Language of Interfaces
destraynor
151
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
BBQ
matthewcrist
82
9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Thoughts on Productivity
jonyablonski
64
4.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
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