- Netflix a migré ses applications iOS/Android vers GraphQL en 2022, sans interruption de service
- Le travail a concerné l’ensemble de la pile, du client jusqu’à la couche API
- Jusqu’à récemment, l’entreprise utilisait Falcor, son framework API interne
- Les applications mobiles sont désormais servies via Federated GraphQL
Explication des étapes de la migration
- Avant GraphQL, un API Falcor monolithique était développé et maintenu
- Phase 1 : mise en place d’un service GraphQL Shim au-dessus de l’API Falcor monolithique existante. Tests A/B
- Phase 2 : dépréciation du service GraphQL Shim et du monolithe d’API legacy, puis adoption d’une Federated GraphQL Gateway. Replay testing et sticky canaries
Trois stratégies pour une migration sûre
- Tests A/B : Falcor et GraphQL Shim ont été séparés en A/B pour les tests
- Replay testing : un outil de replay testing a été développé pour vérifier que l’API avait été migrée correctement
- Sticky canaries : une partie spécifique du trafic a été isolée et assignée aux canaries afin de tester non seulement les fonctionnalités, mais aussi diverses métriques
Aucun commentaire pour le moment.