Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Software Developer ได้เรียนรู้อะไรจากเหตุการณ์จาก CrowdStrike บ้าง ?

$
0
0

จากเหตุการณ์ BSOD (Blue Screen of Death) ใน Windows OS นั้น
ที่เกิดจากการ rollout ของ CrowdStrike
ซึ่งส่งผลกรพทบต่อบริษัทต่าง ๆ จำนวนมาก
ในมุมมองของ Software Developer นั้นได้เรียนรู้อะไรจากเหตุการณ์นี้บ้าง ?

เรื่องแรกที่สำคัญมาก ๆ คือ แนวทางในการทดสอบ

ควรต้องจำลอง environment การทดสอบให้คล้ายหรือเหมือนจริงให้ได้มากที่สุด
test case ให้ครอบคลุมในส่วนต่าง ๆ
แต่ใช้ชีวิตจริงเป็นอย่างไร ตรงนี้น่าจะต้องทำการปรับปรุงให้ดียิ่งขึ้น
ที่สำคัญเรื่องของ strategy ของการทดสอบก็สำคัญ
โดยต้องสร้างสมดุลระหว่าง คุณภาพที่สูง กับความเร็วในการส่งมอบ เช่น

  • Unit test
  • Integration test
  • Component test
  • Contract test
  • End-to-end test

ต้องกำหนดให้ชัดเจน และ ต้องลงมือทำให้เป็นปกติ
มันไม่ใช่เรื่องใหม่แต่อย่างใด !!
แต่มักจะละเลย
เรามีเวลามากพอในการแก้ไขปัญหา แต่ไม่มีเวลาทำให้มันดี

มีคำพูดที่น่าสนใจคือ Quality is not important util the software is important

เรื่องต่อมาคือ เรื่องของการ rollout

เป็นเรื่องของ deployment strategy ที่น่าสนใจ เพื่อลดปัญหาลงไปบน production
เช่น

  • Big bang
  • Blue-green deployment
  • Canary release
  • Stage rollout เช่น canary (nightly), dev, beta และ stable เป็นต้น

จะเห็นได้ว่าปัญหาดังกล่าวมาจากการ rollout แบบ Big bang
ที่สำคัญเรื่องการทดสอบก็ไม่ค่อยดีด้วย จึงทำให้เกิดปัญหาอันยิ่งใหญ่
มีคำพูดที่ตลกร้ายคือ ระบบปกติมา 365 วัน แต่มีปัญหาวันเดียว คนจะจดจำ 1 วันนั้นเสมอ !!
ที่สำคัญคือ ผลกระทบจากปัญหานั่นเอง ว่ามันร้ายแรงอย่างไรต่อธุรกิจ

ดังนั้นในการ rollout ควรจะค่อย ๆ ปล่อยออกมาเช่น

  • เริ่มจากการ Eat Your Own Dog Food ก่อน นั่นคือ rollout ใช้ภายในองค์กรก่อนว่ามีปัญหาอะไรหรือไม่
  • จากนั้นค่อย rollout แบบ canary release ไป เช่น 10%, 30%, 50% และ 100% ในที่สุด หรือจะแบ่งตามกลุ่มผู้ใช้งานก็ได้ ในแต่ละขั้นตอนก็ monitor ดูว่ามีปัญหาเกิดขึ้นหรือไม่

เรื่องสุดท้าย เมื่อเกิดข้อผิดพลาดขึ้นแล้ว ไม่ใช่มานั่งหาว่าใครผิด

สิ่งที่ควรต้องทำคือ การแก้ไขที่รวดเร็ว
จากนั้นจำการสรุปปัญหา หาแนวทางการแก้ไขและป้องกันไม่ให้เกิดซ้ำขึ้นอีก
ทุกความผิดพลาด สร้างความรู้ใหม่ ๆ ขึ้นมาเสมอ
อยู่ที่ว่าจะเรียนรู้จากมันหรือไม่ หรือเพียงให้มันผ่าน ๆ ไป


Viewing all articles
Browse latest Browse all 1997

Trending Articles