Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
A story about programming big things. Learning to Love SOA @rdegges @gostormpath
Slide 2
Slide 2 text
I’m Randall Degges Developer Evangelist at Stormpath Python / Node / Go Hacker
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
CNAM? Incoming Call: 818-217-9229 DEGGES,RANDALL
Slide 5
Slide 5 text
The Plan OpenCNAM DEGGES,RANDALL 818-217-9229
Slide 6
Slide 6 text
Mike: So… Wanna build it? Me: Sure… Why not?
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
Monolithic Architecture A single codebase that is responsible for handling all site functionality.
Slide 9
Slide 9 text
Service Oriented Architecture Many codebases that each do one thing and one thing only.
Slide 10
Slide 10 text
opencnam Github Repos ● Public facing website. ● Developer API. ● Developer documentation. ● Billing logic. ● Email stuff. ● Telephony interconnect. Monolithic App
Slide 11
Slide 11 text
Load Balancer Web Server Web Server Postgres Request
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
Problems :(
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
opencnam-www Rendering templates. Sending POST requests to my backend. Decoupling the Front End
Slide 17
Slide 17 text
Load Balancer Web Server Postgres Request opencnam Load Balancer Web Server Request opencnam-www
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Web Server Postgres
Slide 20
Slide 20 text
opencnam-auth ● Create users. ● Edit users. ● Delete users. Decoupling the Users
Slide 21
Slide 21 text
Backend Request opencnam Backend Request opencnam-www Backend Request opencnam-auth
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
opencnam-api ● Telephony logic. ● API logs. ● API cache. Decoupling the API
Slide 24
Slide 24 text
Backend Request opencnam-api Backend Request opencnam-www Backend Request opencnam-auth
Slide 25
Slide 25 text
opencnam-billing opencnam-www opencnam-auth opencnam-api OpenCNAM Services opencnam-logs opencnam-stats
Slide 26
Slide 26 text
What I’ve Learned
Slide 27
Slide 27 text
Small codebases are easier to work with.
Slide 28
Slide 28 text
Small codebases are easier to scale.
Slide 29
Slide 29 text
Small codebases are more fun.
Slide 30
Slide 30 text
You can write less code.
Slide 31
Slide 31 text
The hardest thing about SOA is... opencnam-auth
Slide 32
Slide 32 text
● User account storage / encryption. ● Authentication. ● Authorization. ● REST API management. ● Social login. End User Your Webserver Stormpath API Stormpath
Slide 33
Slide 33 text
You’re the best! @rdegges @gostormpath