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
450
Useful Cryptography, An Introduction
rdegges
0
710
12 Factors of Pain and Suffering
rdegges
3
880
An Introduction to PASETO Tokens
rdegges
0
1.7k
JWTs Suck
rdegges
24
26k
Almost Everything You Ever Wanted to Know About Web Authentication in Python
rdegges
7
1.1k
Almost Everything You Ever Wanted to Know About Web Authentication in Node
rdegges
13
2.1k
WTF Are APIs?!
rdegges
4
880
Fuck It: Let's Have Fun - Building a Top Torrents API
rdegges
2
660
Other Decks in Programming
See All in Programming
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
48
17k
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
640
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
140
技術を根付かせる / How to make technology take root
kubode
1
250
時計仕掛けのCompose
mkeeda
1
300
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
チームリードになって変わったこと
isaka1022
0
200
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
7
670
Conform を推す - Advocating for Conform
mizoguchicoji
3
690
Introduction to kotlinx.rpc
arawn
0
700
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
150
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
12
4.1k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Navigating Team Friction
lara
183
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
How to train your dragon (web standard)
notwaldorf
91
5.8k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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