Netflix is migrating its mobile applications from Falcor to Federated GraphQL, involving a complete overhaul from the client to the API layer. This migration is being executed in phases, with initial steps involving a GraphQL shim service and subsequent deprecation of legacy APIs in favor of domain-team-owned GraphQL services. The process emphasizes safety through techniques like A/B testing, replay testing for idempotent APIs, and sticky canaries for non-functional and non-idempotent requirements. This post details the query language and search capabilities built on top of this federated graph, leveraging Elasticsearch for indexing and a custom DSL for querying, with late-binding authorization and dynamic schema registration for efficient onboarding and customization.
All Netflix trails