SCT

กำลังเตรียมประสบการณ์ดิจิทัล

บทเรียนจากเหตุ GitHub ล่ม 7 ชั่วโมง 47 นาที: เมื่อปัญหาไม่ได้มาจากโค้ด แต่มาจากความจุ

GitHub เผยแพร่รายงานหลังเหตุการณ์ล่มยาว 7 ชั่วโมง 47 นาที เมื่อ 17 สิงหาคม 2026 ซึ่งกระทบทั้งการล็อกอิน Actions API และ Copilot ทั่วโลก สาเหตุไม่ได้มาจากการเปลี่ยนโค้ดหรือคอนฟิก แต่มาจากความจุที่ตามการเติบโตไม่ทัน บทความนี้สรุปสิ่งที่เกิดขึ้นและเช็กลิสต์ที่ทีมไทยเอาไปใช้ได้ทันที

GitHub เผยแพร่รายงานหลังเหตุการณ์ล่มยาว 7 ชั่วโมง 47 นาที เมื่อ 17 สิงหาคม 2026 ซึ่งกระทบทั้งการล็อกอิน Actions API และ Copilot ทั่วโลก สาเหตุไม่ได้มาจากการเปลี่ยนโค้ดหรือคอนฟิก แต่มาจากความจุที่ตามการเติบโตไม่ทัน บทความนี้สรุปสิ่งที่เกิดขึ้นและเช็กลิสต์ที่ทีมไทยเอาไปใช้ได้ทันที

เกิดอะไรขึ้น

เหตุขัดข้องกินเวลา 7 ชั่วโมง 47 นาที และกระทบบริการหลักแทบทั้งหมดของแพลตฟอร์ม ตั้งแต่การเข้าใช้ github.com ระบบยืนยันตัวตน GitHub Actions ชุด API ไปจนถึง pull request, issue และ Copilot ซึ่งหมายความว่าทีมพัฒนาทั่วโลกที่ผูกไปป์ไลน์ไว้กับบริการนี้หยุดชะงักไปพร้อมกัน

ต้นเหตุคือส่วนประกอบสำคัญของโครงสร้างพื้นฐานในศูนย์ข้อมูลภูมิภาค Central US ไม่สามารถขยายรองรับปริมาณทราฟฟิกที่สูงเป็นประวัติการณ์ได้ เมื่อจุดนั้นรับไม่ไหว แรงกดดันจึงลามต่อไปยังระบบที่เชื่อมโยงกันจนเกิดความล้มเหลวแบบต่อเนื่อง (cascading failure) ที่เริ่มจากระบบยืนยันตัวตนแล้วขยายวงออกไป

สาเหตุคือความจุ ไม่ใช่การเปลี่ยนโค้ด

ประเด็นที่ GitHub เน้นย้ำคือทั้งเหตุการณ์นี้และเหตุ Actions ขัดข้องเมื่อวันที่ 6 สิงหาคม ไม่ได้เกิดจากการปล่อยโค้ดใหม่หรือการเปลี่ยนคอนฟิก แต่เกิดจากความจุล้วน ๆ ตัวเลขที่อธิบายสถานการณ์ได้ดีที่สุดคือจำนวนคอมมิตต่อเดือนบนแพลตฟอร์มที่เพิ่มจาก 1.4 พันล้านในเดือนเมษายน เป็น 2.9 พันล้านในเดือนสิงหาคม หรือมากกว่าเท่าตัวภายในสี่เดือน

นี่คือรูปแบบความล้มเหลวที่ทีมส่วนใหญ่เตรียมตัวไว้น้อยที่สุด เพราะกระบวนการ code review, staging และ canary deployment ทั้งหมดออกแบบมาจับความผิดพลาดจากการเปลี่ยนแปลง ไม่ได้ออกแบบมาจับสถานการณ์ที่ระบบเดิมซึ่งไม่มีอะไรเปลี่ยนเลย ค่อย ๆ เดินเข้าใกล้เพดานของตัวเอง

ภาพประกอบบทความหมวดDevOps
ภาพประกอบบทความหมวดDevOps

ทำไม Copilot ฟื้นตัวช้ากว่าบริการอื่น

ระหว่างการกู้คืน ทีมงานต้องเปลี่ยนเส้นทางทราฟฟิก แยกส่วนที่มีปัญหาออก แล้วทยอยเปิดบริการกลับมาทีละส่วน แต่ Copilot ใช้เวลาฟื้นตัวนานกว่าเพื่อน สาเหตุคือไคลเอนต์ฝั่งผู้ใช้พยายามส่งคำขอซ้ำอัตโนมัติ ซึ่งยิ่งเพิ่มภาระให้ระบบที่กำลังจะฟื้น

ปรากฏการณ์นี้เรียกว่า retry storm และเป็นสาเหตุคลาสสิกที่ทำให้เหตุขัดข้องยืดเยื้อกว่าที่ควร ระบบกลับมาไหวแล้วแต่ถูกคำขอที่ค้างสะสมถล่มซ้ำจนล้มอีกรอบ วนแบบนี้ไปเรื่อย ๆ

GitHub จะทำอะไรต่อ

แผนที่ประกาศไว้มีสี่เรื่อง หนึ่งคือกำหนดขีดจำกัดการส่งซ้ำ งบประมาณการส่งซ้ำ และค่า timeout ให้สอดคล้องกันทั่วทุกบริการเพื่อไม่ให้เกิด retry storm อีก สองคือทบทวนการแจ้งเตือนระดับความสำคัญต่ำเพื่อค้นหาส่วนประกอบที่เปราะบางเมื่อทราฟฟิกพุ่ง สามคือขยายการใช้โครงสร้างพื้นฐานบน Azure ซึ่งปัจจุบันรองรับภาระงานของแพลตฟอร์มแล้ว 58% จากที่เคยเป็นเพียง 12% เมื่อเดือนพฤษภาคม และสี่คือปรับสถาปัตยกรรมให้ขยายความจุการอ่านของรีโปขนาดใหญ่ได้แบบเชิงเส้น

ภาพประกอบบทความหมวดDevOps
ภาพประกอบบทความหมวดDevOps

เช็กลิสต์สำหรับทีมไทย

เรื่องแรกที่ควรทำคือทบทวนนโยบายการส่งคำขอซ้ำของทุกไคลเอนต์ในระบบ ต้องมีการหน่วงแบบทวีคูณพร้อมค่าสุ่ม (exponential backoff with jitter) มีเพดานจำนวนครั้ง และมีงบประมาณการส่งซ้ำรวมทั้งระบบ ไม่ใช่ปล่อยให้แต่ละบริการส่งซ้ำตามใจ เรื่องที่สองคือใส่ circuit breaker และกลไกทิ้งงานส่วนเกิน (load shedding) เพื่อให้ระบบยอมปฏิเสธคำขอบางส่วนอย่างมีสติแทนที่จะล้มทั้งหมด

เรื่องที่สามคือเฝ้าดูอัตราการเติบโตของทราฟฟิกและปริมาณข้อมูล ไม่ใช่แค่ค่าปัจจุบัน แล้วตั้งการแจ้งเตือนที่ระดับซึ่งยังเหลือเวลาให้ขยายทัน และเรื่องสุดท้ายคือซ้อมสถานการณ์จริงอย่างน้อยปีละครั้ง โดยตั้งโจทย์ว่าถ้าผู้ให้บริการภายนอกที่เราพึ่งพาล่มไปครึ่งวัน ทีมจะสื่อสารกับลูกค้าอย่างไรและมีแผนสำรองแค่ไหน ซึ่งเป็นคำถามที่ตอบได้ยากกว่าที่คิดถ้าไม่เคยซ้อม

สรุปสาระสำคัญ

  • เกิดอะไรขึ้น
  • สาเหตุคือความจุ ไม่ใช่การเปลี่ยนโค้ด
  • ทำไม Copilot ฟื้นตัวช้ากว่าบริการอื่น
แหล่งอ้างอิงเรียบเรียงจาก GitHub Blog — The August 17 outage, and the work ahead — อ่านบทความต้นฉบับ
ภาพปก: GitHub Blog · ลิขสิทธิ์ภาพเป็นของเจ้าของต้นฉบับ ใช้ประกอบการรายงานพร้อมอ้างอิงแหล่งที่มา
มีคำถามเพิ่มเติมเกี่ยวกับบทความนี้? เขียนหาเราได้ที่ info@smart-cyber-tech.com
บริการที่เกี่ยวข้องจากทีมงาน Smart Cyber Tech

บทความอื่นที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง

CI/CD ตามแนวทาง DORA: ส่งมอบซอฟต์แวร์ให้เร็วและเสถียรไปพร้อมกัน DevOps

CI/CD ตามแนวทาง DORA: ส่งมอบซอฟต์แวร์ให้เร็วและเสถียรไปพร้อมกัน

งานวิจัย DORA ของ Google ที่เก็บข้อมูลจากทีมพัฒนาทั่วโลกกว่าทศวรรษพิสูจน์ว่า ทีมที่ Deploy บ่อยกว่าไม่ได้พังบ่อยกว่า แต่กลับเสถียรกว่า บทความนี้สรุปตัวชี้วัดทั้ง 4 ของ DORA และแนวปฏิบัติ CI/CD ที่ทำให้ทีมของคุณส่งมอบงานได้ทั้งเร็วและมั่นใจ

อ่านบทความ
Microservices ตามแนวคิด Martin Fowler: เมื่อไรควรใช้ และแพตเทิร์นที่ต้องรู้ คลาวด์

Microservices ตามแนวคิด Martin Fowler: เมื่อไรควรใช้ และแพตเทิร์นที่ต้องรู้

Microservices ไม่ใช่คำตอบของทุกระบบ Martin Fowler เตือนไว้ชัดเจนว่าอย่าเริ่มโปรเจกต์ใหม่ด้วย Microservices ทันที บทความนี้อธิบายว่าสถาปัตยกรรมนี้คืออะไร เหมาะกับใคร พร้อมแพตเทิร์นสำคัญอย่าง API Gateway, Database per Service และ Circuit Breaker

อ่านบทความ
ลดค่าใช้จ่ายคลาวด์อย่างเป็นระบบตามแนวทาง AWS Well-Architected คลาวด์

ลดค่าใช้จ่ายคลาวด์อย่างเป็นระบบตามแนวทาง AWS Well-Architected

องค์กรจำนวนมากจ่ายค่าคลาวด์เกินจำเป็น 20-30% จากทรัพยากรที่ไม่ได้ใช้และขนาดที่ใหญ่เกินงาน บทความนี้สรุปหลักการจาก Cost Optimization Pillar ของ AWS Well-Architected Framework ตั้งแต่การมองเห็นค่าใช้จ่าย การเลือกโมเดลราคา ไปจนถึงการสร้างวัฒนธรรม FinOps ในทีม

อ่านบทความ

ติดต่อเพื่อขอรับคำปรึกษาจากทีมงาน

ตั้งแต่ประเมินระบบปัจจุบัน วางแผน จนถึงลงมือพัฒนา — คุยกับเราได้โดยไม่มีค่าใช้จ่าย

ปรึกษาทีมของเรา