เมื่อไม่นานมานี้ GitHub ได้มีการอัปเกรดโครงสร้างพื้นฐาน (Infrastructure) ภายใน จาก MySQL เวอร์ชัน 5.7 กลายเป็นเวอร์ชัน 8.0 เรียบร้อยแล้ว เนื่องจาก MySQL v5.7 นั้นหมดอายุ (End Of Life หรือ EOL) สิ้นสุดการสนับสนุนเป็นที่เรียบร้อย ตั้งแต่วันที่ 21 ต.ค.2023 ที่ผ่านมา
ด้วยเหตุนี้เอง MySQL Infrastructure ที่ใช้งานภายใน GitHub ที่อยู่บน Host ว่า 1,200 ที่ ทั้งบน Azure Virtual Machines หรือว่าบน Bare Metal ต่าง ๆ เพื่อให้บริการข้อมูลมากกว่า 300 TB และเพื่อรองรับการค้นหาข้อมูลมากกว่า 5.5 ล้าน Queries Per Second จาก Database Cluster มากกว่า 50 ส่วนนั้น ได้มีการอัปเกรดเป็นเวอร์ชัน v8.0 เป็นที่เรียบร้อยแล้ว
โดยการเตรียมตัวอัปเกรดใหญ่นั้นเกิดขึ้นมาตั้งแต่ช่วง ก.ค.2022 แล้ว ซึ่งทีม Database นั้นต้องตอบโจทย์ความต้องการทั้งเรื่อง Service Level Objectives (SLOs) และ Service Level Agreements (SLAs) ต่าง ๆ และด้วย Workload ที่มีอยู่หลากหลายมากพร้อมกับขนาดการดำเนินงานที่ใหญ่ จึงทำให้ต้องระมัดระวังในการอัปเกรดอย่างมาก ที่ต้องพิจารณาเรื่องความพร้อมใน Infrastructure เพื่อให้มั่นใจทั้งความเข้ากันได้ในแอปพลิเคชัน และการสื่อสารภายในทีมที่มีความโปร่งใสชัดเจน
การอัปเกรดเริ่มต้นด้วยการทยอยทำ Replica Upgrade ในแต่ละ DC โดยค่อย ๆ สร้าง Replica ออกมาเป็นเวอร์ชัน 8.0 ย้าย Traffic แล้วก็ปิดเวอร์ชัน 5.7 ภายใน DC นั้น ๆ ซึ่งจะมีการตรวจสอบติดตามแต่ละ Stage อย่างระมัดระวังก่อนที่จะย้ายไปใน Stage ถัดไป และค่อย ๆ ทยอยทำไปอย่างต่อเนื่อง ซึ่งกระบวนการอัปเกรดทั้งหมดใช้เวลาไปกว่าหนึ่งปี
หากองค์กรยังใช้งาน MySQL v5.7 อยู่ อาจจะต้องเริ่มพิจารณาอัปเกรดมาเป็น v8.0 ได้แล้ว เพื่อความมั่นคงปลอดภัย (Security) และการแก้ไขบั๊กต่าง ๆ รวมทั้งการปรับปรุงประสิทธิภาพ ซึ่งหากใครสนใจกระบวนการอัปเดต MySQL Infrastructure ภายใน GitHub ในรายละเอียดสามารถอ่านเพิ่มเติมได้บนบล็อกโพสของ GitHub ได้ที่นี่
ที่มา: https://www.infoq.com/news/2024/02/github-mysql-upgrade-v8/