An Iterative Approach to Service Oriented Architecture
summary
Iterative extraction from a large Rails app yields a clear recipe: isolate the data, extract a Ruby client and adapters, then lift a minimal server. Work uses Ruby, ActiveRecord, Postgres, Sinatra and Oj, Foreman/Subcontractor, Sidekiq and feature flags. A saves service starts as one DB table moved to a replica with ~5 minutes downtime, client-first adapters let a later HTTP service swap in, and a login service ships in ~3 months; the nine‑month, 6–8 engineer data service proves feasible but costly.
AI-written summary · about
chapters (48)
- 0:00Introduction
- 0:50Why should you care
- 1:32Why is Whitney Lowe important
- 1:59Open Source
- 2:51Antipattern Gold Mine
- 4:46Overtime
- 5:35DevOps
- 7:07Take a firm stance
- 7:25Throw shit
- 8:47Were gonna fail
- 9:03Sidetrack
- 9:34Scale
- 12:10Engineering
- 12:20Success
- 14:11Engineering like this
- 14:22Three months
- 14:35What is success
- 14:54Why SOA
- 15:44Trust
- 16:07What we learned
- 17:15What an SOA is not
- 17:50Performance
- 18:15When it becomes a problem
- 20:17One problem
- 20:35ActiveRecord
- 21:12EstablishConnection
- 21:31Testable
- 23:12Service
- 23:50Saves
- 24:21Remove redundancy
- 24:43How do we pull it out
- 25:01So we use the module
- 25:12Save Client
- 25:26Database Adapter
- 25:55Product Adapter
- 26:10Active Record
- 28:20Server
- 28:46Client
- 29:06Sinatra
- 29:27Service Adapter
- 29:37HTTP Adapter
- 30:49Unit Tests
- 31:34SubContractors
- 32:01What about a new app
- 32:11Focus on organizing your code
- 33:05Feature flags
- 33:43Inter integrating
- 34:50Conclusion
related talks
30mService Oriented Design in Practice
23mAbstracting a Service - A Case Study in Forward Thinking with SOA
34mService Oriented Architecture at Square
22mNitty Gritty Service Building
34mSOA and the Monolithic Rails App Anti-Pattern
40mService Architectures for Mere Mortals
28mNitty Gritty Service Building
28mServices and Rails: The Shit They Don't Tell You
