ถ้ายังจำกันได้ ปัญหาของเกม Pokemon Go ในช่วงแรกๆ คือเซิร์ฟเวอร์ไม่พอกับความต้องการ แต่ท้ายที่สุดแล้วทาง Niantic ก็ไม่เคยเผยข้อมูลว่าเซิร์ฟเวอร์ของ Pokemon Go ใช้ระบบของอะไร
วันนี้ข้อมูลเผยออกมาแล้ว ว่าเป็น Google Cloud Platform ตามที่หลายคนคาดกัน สิ่งที่น่าสนใจคือทราฟฟิกของ Pokemon Go สูงกว่าที่ทีมงานคาดการณ์ไว้ถึง 50 เท่าเลยทีเดียว
เรื่องนี้เปิดเผยโดยทีมงาน Google Cloud Platform ที่ประเมินกันว่าทราฟฟิกระดับ worst case น่าจะมากกว่าทราฟฟิกที่ประเมินไว้ราว 5 เท่า แต่เอาเข้าจริง ทราฟฟิกกลับทะลุความคาดหมายอย่างรวดเร็วภายในเวลาเพียง 15 นาทีหลังเปิดให้ดาวน์โหลดในออสเตรเลียและนิวซีแลนด์ และจบที่ทราฟฟิกจริงสูงกว่าที่คาดไว้ 50 เท่า
หน้าที่ในการดูแลโหลดระดับนี้เป็นของทีม Google Customer Reliability Engineering (CRE) ทีมใหม่ที่กูเกิลตั้งขึ้นมาเพื่อดูแลลูกค้ารายใหญ่โดยเฉพาะ และลูกค้ารายแรกก็คือ Niantic กับ Pokemon Go นั่นเอง
หลังจากเปิดให้ดาวน์โหลดและทราฟฟิกโตเกินเป้า ทีมงาน Niantic ก็โทรหาทีม Google CRE เพื่อขอความช่วยเหลือทันที เพราะตามแผนต้องเปิดเซิร์ฟเวอร์ให้ผู้เล่นในสหรัฐอเมริกาในวันต่อไป
ทางทีม CRE ก็ตอบรับโดยการเพิ่มขีดความสามารถของคลาวด์แบบเต็มที่ให้ Niantic เพื่อรองรับความต้องการ แต่อุปสรรคก็ยังไม่หมด เพราะตัวเกมมีปัญหาเสถียรภาพ ทั้งสองทีมจึงต้องทำงานร่วมกันเพื่อแก้ปัญหาไปทีละเปลาะ โดยทีม CRE เข้าไปช่วยรีวิวสถาปัตยกรรมของ Pokemon Go ตลอดเวลา
ระบบเบื้องหลัง Pokemon Go ได้แก่
หลังจากเปิดบริการในสหรัฐแล้ว ทางทีม Niantic และ CRE ก็มีประสบการณ์มากพอ และการปรับระบบเซิร์ฟเวอร์ในช่วงแรก ทั้งการขยายขีดความสามารถคลาวด์ และการปรับมาใช้ GKE กับ HTTP/S Load Balancer เวอร์ชันใหม่ ช่วยให้ระบบสามารถรองรับการเปิดบริการในญี่ปุ่นได้อย่างราบรื่นไม่มีสะดุด
ทีมงาน Google Cloud บอกว่า Pokemon Go คือระบบที่ใช้ Kubernetes บน Google Container Engine ที่ใหญ่ที่สุดตั้งแต่เคยมีมา (ไม่บอกจำนวนที่แน่ชัด แต่บอกว่าเป็นหลัก "หลายหมื่นคอร์") ทีมงานแก้ไขโค้ดจำนวนมากเพื่อรองรับสเกลระดับนี้ และส่งโค้ดกลับไปยังโครงการโอเพนซอร์สแล้ว
ที่มา - Google Cloud Platform Blog