- ผลิตภัณฑ์ของ Google ถูกใช้งานโดยผู้คนหลายพันล้านคนทั่วโลก และความสำคัญของการให้ผลิตภัณฑ์เหล่านี้ทำงานได้อย่างเสถียรเป็นสิ่งที่สำคัญมากทีเดียว ทีม SRE ของ Google ได้พัฒนาวิธีการต่าง ๆ มาเพื่อยกระดับความน่าเชื่อถือของบริการ
- เทคนิค SRE แบบดั้งเดิม (เช่น error budget, postmortem) มีส่วนสำคัญอย่างมากต่อการขยายขนาดบริการเว็บของ Google
- เมื่อมีการใช้งาน AI/ML เพิ่มขึ้น ความซับซ้อนของระบบจึงสูงขึ้นมาก จำเป็นต้องมีแนวทางใหม่
- ทฤษฎีระบบและทฤษฎีควบคุมมีประโยชน์ในการทำความเข้าใจปฏิสัมพันธ์ที่ซับซ้อนอย่างเป็นระบบ
- จำเป็นต้องมีแนวทางที่รับประกันความปลอดภัยในระดับการออกแบบของระบบต้นแบบ ไม่ใช่วิธีการที่แก้ปัญหาหลังเกิดเหตุเพียงอย่างเดียว
ภาพรวม STAMP
- STAMP (System-Theoretic Accident Model and Processes) ที่ศาสตราจารย์ Nancy Leveson แห่ง MIT เสนอ เป็นแนวทางในการวิเคราะห์อุบัติเหตุ (เหตุการณ์) โดยมองจากมุมปฏิสัมพันธ์ของระบบที่ซับซ้อน มากกว่าความผิดพลาดของชิ้นส่วนรายตัว
- ไม่เน้นสาเหตุเชิงเหตุผลแบบเดิมๆ (เช่น “มีบั๊กจึงเกิดความล้มเหลว”) แต่ให้ความสำคัญกับว่า “ระบบทั้งระบบหลุดเข้าไปในเส้นทางการควบคุมที่ผิดปกติอย่างไร”
- ใช้ Causal Analysis based on Systems Theory (CAST) เพื่อรื้อฟื้นเหตุการณ์อุบัติเหตุ และใช้ System-Theoretic Process Analysis (STPA) เพื่อระบุปัจจัยเสี่ยงล่วงหน้า
พื้นฐานของทฤษฎีควบคุม – เงื่อนไขทั้งสี่
- ในทฤษฎีควบคุม จำเป็นต้องมีเงื่อนไข 4 อย่างเพื่อให้การควบคุมมีประสิทธิภาพ
- เงื่อนไขเป้าหมาย: ต้องมีเป้าหมาย (เช่น การคงค่าตัวชี้วัดบางตัว)
- เงื่อนไขการกระทำ: ต้องสามารถมีผลต่อสภาพระบบเพื่อให้บรรลุเป้าหมาย
- เงื่อนไขแบบจำลอง: ต้องมีแบบจำลองเพื่อทำความเข้าใจระบบ (ทั้งภายในและภายนอก)
- เงื่อนไขความสังเกตได้: ต้องมีระบบการสังเกต เช่น เซนเซอร์ เพื่อรับรู้สถานะปัจจุบันของระบบ
การมองเหตุขัดข้อง (Outage) เป็นปัญหาด้านการควบคุม
- เดิมทีนิยมอธิบายเหตุขัดข้องในเชิง “ความล้มเหลวซ้อนต่อกัน” อย่างชัดเจน
- STAMP อธิบายเชิงมุมมอง “การควบคุมและปฏิสัมพันธ์ที่ไม่เหมาะสม” และทำให้ความปลอดภัยได้รับการรับประกันในระดับระบบ
- ไม่ได้มองหาเฉพาะว่า “การล้มเหลวตัวแรกเริ่มต้นที่ใด” แต่ตรวจสอบอย่างครบวงจรว่ามี “เส้นทางการควบคุม/การตอบกลับใดผิดปกติ”
สร้างเวลาอาศัยสถานะความเสี่ยง (Hazard)
- แบบจำลองเชิงเหตุผลดั้งเดิมมักข้ามจากสภาพปกติไปยังสภาพอุบัติเหตุกันทันที ทำให้เวลาการรับมือสั้นมาก
- ใน STAMP จะเพิ่มแนวคิด “สถานะ Hazard” เพื่อค้นหาจุดที่ระบบเข้าสู่ความเสี่ยงก่อนที่อุบัติเหตุจะสมบูรณ์
- หลังจากตรวจพบสถานะ Hazard แล้ว สามารถแทรกแซงอย่างแข็งขัน เพื่อเปิดโอกาสในการป้องกันก่อนที่ปัญหาจะลุกลามสู่เหตุขัดข้องจริง
ตัวอย่างจริง
- “Quota Rightsizer” ภายใน Google คอยจัดสรรทรัพยากรใหม่ตามปริมาณการใช้งานของบริการ
- ในมุม STPA สามารถระบุล่วงหน้าได้ว่า "สถานการณ์ที่รับข้อมูลการใช้งานผิดพลาด และลดทรัพยากรลงต่ำกว่าความต้องการจริง" อาจเกิดขึ้นได้
- ในขั้นตอนออกแบบเดิมมักจะโฟกัสเฉพาะ “ตรรกะการควบคุมที่ถูกต้อง” แต่เมื่อใช้ STPA แล้วพบประเด็นปัญหาที่เส้นทางการตอบกลับ (เช่น กระบวนการคำนวณการใช้ทรัพยากร)
- ในปี 2021 ข้อผิดพลาดในการตอบกลับสะสมต่อเนื่องและนำไปสู่ปัญหาใหญ่ พร้อมกับมีข้อมูลว่าได้อยู่ในสถานะ Hazard ติดต่อกันหลายสัปดาห์โดยไม่รู้ตัว
แนวโน้มในอนาคต
- Google SRE มุ่งสู่ความปลอดภัยระดับสูงขึ้นและการจัดการความซับซ้อนผ่านแนวทางที่ยึดฐานจากทฤษฎีระบบ เช่น STAMP, STPA และ CAST
- แม้จะลงทุนด้านวิศวกรรมเพียงเล็กน้อย (ราวไม่กี่สัปดาห์) ก็สามารถค้นพบความเสี่ยงเชิงสถานการณ์ที่เป็นไปได้มากมายในระบบขนาดใหญ่ได้
- หากนําการวิเคราะห์ตามทฤษฎีควบคุมเข้ามาเพิ่มเติมให้กับวัฒนธรรมความน่าเชื่อถือเดิม ความเป็นไปได้ในการให้บริการที่มีเสถียรภาพในยุค AI/ML จะสูงขึ้น
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
แนวทางวิศวกรรมของ Google อาจเป็นอันตรายต่อสตาร์ทอัพได้; SRE มักมีแนวโน้มจะแสดงอาการเป็นฮีโร่และพยายามแก้แบบร่างทางเทคนิคของทีมอื่นอีกครั้ง
มีบางอย่างที่คล้ายกับหนังสือของ Sidney Dekker
แนวทาง CAST ดูน่าสนใจมาก
มีความคล้ายคลึงที่น่าสนใจกับงานเชิงเหตุผลเชิงกล (mechanistic reasoning)
อยากรู้ว่ามีตัวอย่างการนำกรอบงานวิศวกรรมความปลอดภัยที่เป็นทางการไปใช้กับการวิเคราะห์ neural network หรือไม่
แม้ตัวอย่าง "rightsizer" จะถูกวิเคราะห์ด้วยวิธีเดิม ก็อาจได้ผลลัพธ์เช่นกัน
เหตุผลที่ไม่ชอบการทดสอบซอฟต์แวร์ก็มาจากข้อบกพร่องที่มาจากปัจจัยภายนอก
CAST คล้ายคลึงกับการวิเคราะห์สาเหตุรากฐานหลายปัจจัย
คำถามคือ SRE/DevOps คือส่วนหนึ่งของบทบาทประจำหรือไม่
คุณลักษณะเด่นของ Google SRE คือการปล่อยผลิตภัณฑ์ใหม่ต้องการการช่วยเหลือจาก SRE
บทความนี้ยาวเกินไปและยากต่อการจับประเด็นสำคัญ
สงสัยว่าแนวทางนี้มีคุณค่ากับองค์กรขนาดไม่ใช่ FAANG หรือไม่
คล้าย DevOps ความหมายของ SRE กำลังขยายตัว