- BBC ได้สร้างแพลตฟอร์มที่ใช้ Serverless ชื่อ 'WebCore' ระหว่างการย้ายขึ้นสู่คลาวด์
- ตลอด 1 ปีที่ผ่านมา แม้จะบรรลุเป้าหมายสุดท้ายได้เพียงราว 30% แต่ก็เริ่มเห็นผลลัพธ์แล้ว
- การใช้ Serverless ทำให้สามารถโฟกัสกับคุณค่าที่มอบให้ลูกค้าได้ มากกว่าต้องใช้เวลากับการวิศวกรรมโครงสร้างพื้นฐานของแพลตฟอร์ม
- BBC เพิ่มความมั่นคงและประสิทธิภาพสูงสุดมาโดยตลอดด้วยการแคช แต่เพื่อให้สอดคล้องกับแนวโน้มปัจจุบันที่ต้องส่งมอบคอนเทนต์แบบปรับตามแต่ละผู้อ่าน จึงจำเป็นต้องเปลี่ยนแปลงมากขึ้นและรองรับโหลดที่สูงขึ้น
Personalisation / Relevancy
- กำลังพัฒนาให้รองรับหน้าเพจที่ปรับให้เหมาะกับผู้อ่านแต่ละคน
- สำหรับหน้าแรก ปัจจุบันมีการปรับแต่งเฉพาะบุคคลแล้ว ใช้เวลาเรนเดอร์ราว 500ms และระหว่างนั้นมีการเรียกฟังก์ชันประมาณ 30 ตัว
- ในเดือนกุมภาพันธ์ 2022 มีการเรียกใช้งานแบบปรับแต่งเฉพาะบุคคล 145 ล้านครั้ง คิดเป็น 6% ของทราฟฟิก WebCore ทั้งหมด
- ในอีก 12 เดือนข้างหน้า จะทำให้หน้าเพจส่วนใหญ่ปรับให้เหมาะกับผู้อ่านแต่ละคน
Experimentation
- บนแพลตฟอร์มเดิมที่พึ่งพาการแคช ทำให้ทำการทดลองหลากหลายรูปแบบบนหน้าเพจได้ยาก
- กำลังพัฒนาให้สามารถทำการทดลองหลากหลายรูปแบบด้วย A/B/n testing ได้
Speed of Updates
- ในวันทำงาน หมวดข่าวและกีฬาของ BBC ถูกแก้ไขโดยบรรณาธิการ 3 ครั้งต่อวินาที (บทความ, ดัชนี, วิดีโอ, โพสต์สั้น ฯลฯ)
- หน้าเพจที่ไม่ได้ปรับแต่งเฉพาะบุคคลต้องการสะท้อนคอนเทนต์ใหม่ให้เร็วที่สุด แต่ทำได้ยากเพราะแคช
- BBC กำลังปรับปรุงเวลาที่บทความใหม่จะปรากฏต่อผู้ใช้ผ่าน Serverless Redis อย่างต่อเนื่อง
- ตลอด 8 เดือนที่ผ่านมา ลดเวลาจาก 2.5 นาทีเหลือ 30 วินาที และตั้งเป้าลดให้ต่ำกว่า 5 วินาทีในอีก 12 เดือนข้างหน้า
Build times
- เพื่อให้ทีมเทคนิค deploy ได้รวดเร็วและปลอดภัย จึงเลิกใช้ CI/CD pipeline แบบเดิม
- เปลี่ยนจาก Jenkins-based ไปเป็น Serverless CI/CD pipeline
- เวลาบิลด์ลดลงจากเดิม 24 นาที เหลือปัจจุบัน 5 นาที และมีเป้าหมายที่ 2 นาที
ปัญหาเล็กน้อย
- ปัญหา noisy neighbor: เนื่องจากแพลตฟอร์ม Serverless บนคลาวด์ใช้ทรัพยากรร่วมกัน จึงอาจมีบางครั้งที่เกิดอาการช้าลง
ยังไม่มีความคิดเห็น