- Netflix hat 2022 seine iOS-/Android-Apps ohne Downtime auf GraphQL migriert
- Dafür wurden umfassende Arbeiten vom Client bis zur API-Schicht durchgeführt
- Bis vor Kurzem wurde dafür das interne API-Framework Falcor verwendet
- Heute werden die Mobile-Apps über Federated GraphQL bereitgestellt
Erklärung der einzelnen Migrationsphasen
- Vor GraphQL wurde eine monolithische Falcor-API entwickelt und betrieben
- Phase 1: Implementierung eines GraphQL-Shim-Service oberhalb der bestehenden monolithischen Falcor-API. A/B-Testing
- Phase 2: Abschaffung des GraphQL-Shim-Service und des Legacy-API-Monolithen, Einführung eines Federated GraphQL Gateway. Replay-Testing und Sticky Canaries
Drei Strategien für eine sichere Migration
- A/B-Testing: Falcor und GraphQL Shim wurden getrennt per A/B-Test geprüft
- Replay-Testing: Zur Überprüfung, ob die API korrekt migriert wurde, wurde ein Replay-Testing-Tool entwickelt
- Sticky Canaries: Bestimmter Traffic wurde getrennt und Canaries zugewiesen, um neben der Funktionalität auch verschiedene Metriken zu testen
Noch keine Kommentare.