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
430
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
430
Useful Cryptography, An Introduction
rdegges
0
690
12 Factors of Pain and Suffering
rdegges
3
850
An Introduction to PASETO Tokens
rdegges
0
1.6k
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
2k
WTF Are APIs?!
rdegges
4
860
Fuck It: Let's Have Fun - Building a Top Torrents API
rdegges
2
650
Other Decks in Programming
See All in Programming
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
Arm移行タイムアタック
qnighy
0
330
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.5k
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
Quine, Polyglot, 良いコード
qnighy
4
650
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
110
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
960
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Faster Mobile Websites
deanohume
305
30k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
100
Documentation Writing (for coders)
carmenintech
65
4.4k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
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