การนำรูปแบบเกตเวย์มาใช้ช่วยในการตัดสินใจว่าจะเรียกใช้บริการแบ็กเอนด์ใด เรียกตามลำดับที่เหมาะสม (รวมการทำงานแบบขนานเมื่อเป็นไปได้) ประกอบการตอบสนอง ใช้ feature flag และตัวแปรทดลอง และส่งมอบเพย์โหลดที่จัดรูปแบบไว้ล่วงหน้าให้แอปเรนเดอร์ด้วยการประมวลผลน้อยที่สุด
การเพิ่มหน้าจอใหม่หรือแก้ไขหน้าจอที่มีอยู่ไม่จำเป็นต้องมีการปรับใช้โค้ดเกตเวย์ใหม่ เพียงแค่ต้องอัปเดตการตั้งค่าที่ระบุว่าจะเรียกใช้บริการใด วิธีประกอบการตอบสนอง และพฤติกรรมสำรองที่จะใช้
การมี UI ที่ขับเคลื่อนโดยเซิร์ฟเวอร์นี้ให้การควบคุมจากฝั่งเซิร์ฟเวอร์สูงสุด แต่ต้องอาศัยไลบรารีส่วนประกอบที่สมบูรณ์บนไคลเอนต์และการจัดการเวอร์ชันอย่างระมัดระวัง เพื่อให้แอปเวอร์ชันเก่าสามารถรองรับประเภทส่วนประกอบที่ไม่รู้จักได้อย่างเหมาะสม
จากการทำงานในแพลตฟอร์มอีคอมเมิร์ซขนาดใหญ่ที่มีผู้ใช้งานรายเดือนหลายสิบล้านคน การปรับใช้ระบบที่มีปริมาณการใช้งานสูงแบบสดสามารถทำได้โดยใช้โหมดเงา (shadow mode) เปรียบเทียบการตอบสนอง และค่อยๆ เพิ่มปริมาณการใช้งานผ่านขั้นตอน canary พร้อมการ Rollback อัตโนมัติที่ผูกกับเกณฑ์อัตราข้อผิดพลาด
ศัพท์ที่ควรรู้
- Feature-flag – คือการใช้สวิตช์ในการควบคุมฟีเจอร์ต่างๆ เพื่อเปิดหรือปิดการใช้งานฟีเจอร์นั้นๆ สำหรับผู้ใช้
- Gateway – คือตัวกลางที่ทำหน้าที่ในการตัดสินใจว่าจะเรียกใช้บริการแบ็กเอนด์ใด และประกอบการตอบสนองก่อนส่งให้แอป
- Backend-driven UI – คือการที่ส่วนติดต่อผู้ใช้ (UI) ถูกควบคุมและกำหนดรูปแบบโดยเซิร์ฟเวอร์ ไม่ใช่ฝั่งไคลเอนต์มือถือ
- Rollback – คือกระบวนการย้อนกลับไปใช้เวอร์ชันก่อนหน้าเมื่อพบข้อผิดพลาดในระบบใหม่
ที่มา: infoq.com