Moving to GraphQL
summary
A team turns a 460k LOC monolith with seven years of history and 400k users into a single Graph-like surface using a GraqhQL gateway and Apollo federation, keeping backends in Ruby backend services, splitting into nine schemas, solving n+1 with batching, and avoiding type reuse that leaks sensitive fields. Recommendations: prefer lists unless paging is probable, favor simple custom paging over connections, standardize filters/orders, and validate errors consistently. 460k LOC 400k users
AI-written summary · about
chapters (15)
- 0:00Start
- 4:57History
- 10:50Basic Standardization Options
- 11:15Enum Usage
- 12:15Many to any Relationships
- 14:44Recommendations
- 17:29Mixed Levels of Abstraction
- 23:30Reuse Scalar Types
- 24:09Distribute Your Graphql Api
- 27:21Gradual Pattern
- 28:17Schema Stitching
- 32:27Apollo Federation
- 33:08Questions
- 39:24Are Your Graphql Implementations Usually in Ruby or Javascript
- 42:47Graphql Batching
related talks
37mGraphQL and Microservices or How we learned to be big and small at the same time
42mFrom REST to distributed GQL
06mEscape the GraphQL Monolith
22mWhy Migrate from REST to GraphQL?
31mLessons from Scaling GraphQL to Half a Billion Requests per Minute
40mGraphQL: A Case Study
28mGraphQLifying React Native App
19mBringing GraphQL to the Enterprise: When IBM met Apollo
