- Netflix ได้ย้ายแอป iOS/Android ไปสู่ GraphQL ในปี 2022 โดยไม่มีดาวน์ไทม์
- มีการดำเนินงานครั้งใหญ่ครอบคลุมตั้งแต่ฝั่งไคลเอนต์ไปจนถึงชั้น API
- ก่อนหน้านี้ใช้ Falcor ซึ่งเป็นเฟรมเวิร์ก API ภายใน
- ปัจจุบันให้บริการแอปมือถือด้วย Federated GraphQL
คำอธิบายแต่ละขั้นของการย้ายระบบ
- ก่อน GraphQL มีการพัฒนาและดูแล Monolithic Falcor API
- ระยะที่ 1: สร้างบริการ GraphQL Shim ไว้บน Monolith Falcor API เดิม และทำ AB Testing
- ระยะที่ 2: เลิกใช้งานบริการ GraphQL Shim และเลกาซี API monolith แล้วนำ Federated GraphQL Gateway มาใช้ พร้อม Replay Testing และ Sticky Canaries
3 กลยุทธ์เพื่อการย้ายระบบอย่างปลอดภัย
- AB Testing: แยก Falcor กับ GraphQL Shim ออกเป็น AB เพื่อทดสอบ
- Replay Testing: พัฒนาเครื่องมือ Replay Testing เพื่อตรวจสอบว่า API ถูกย้ายมาอย่างถูกต้อง
- Sticky Canaries: แยกทราฟฟิกบางส่วนแล้วกำหนดเป็น Canary เพื่อทดสอบไม่ใช่แค่ฟังก์ชัน แต่รวมถึงเมตริกที่หลากหลาย
ยังไม่มีความคิดเห็น