เกิดอะไรขึ้น
Google Cloud ประกาศเปิดตัวเวอร์ชันพรีวิวของ Fault Injection Testing ซึ่งเป็นบริการที่ออกแบบมาเพื่อช่วยนักพัฒนาและสถาปนิกระบบทำการทดสอบความล้มเหลวในสภาพแวดล้อมคลาวด์ได้แบบอัตโนมัติ
บริการนี้รองรับสถานการณ์ความล้มเหลวหลักสองแบบในเวอร์ชันพรีวิวนี้ ได้แก่ การกระตุ้นให้เกิด failover ของอินสแตนซ์ Cloud SQL แบบ high availability และการทำให้ทราฟฟิกของแอปพลิเคชันแย่ลงด้วยการเพิ่ม latency และรหัสข้อผิดพลาด HTTP ผ่าน Layer 7 load balancer
Fault Injection Testing มีการทำ dry run แบบอัตโนมัติก่อนการฉีดข้อผิดพลาดจริง อนุญาตให้เริ่มการทดสอบด้วยตนเองได้ และมีความสามารถในการหยุดและย้อนกลับ เพื่อยุติการทดลองและคืนค่าทรัพยากรกลับสู่สภาพเดิม
เหตุใดจึงสำคัญ
ระบบกระจาย (distributed systems) สมัยใหม่มีความซับซ้อน ทำให้การรับประกัน high availability ทำได้ยากขึ้นเรื่อยๆ โดยเฉพาะเมื่อการเข้าถึงโครงสร้างพื้นฐานที่อยู่เบื้องหลังโดยตรงมีข้อจำกัดในสภาพแวดล้อมคลาวด์
หากไม่มีเครื่องมือทดสอบความยืดหยุ่นในตัว องค์กรต่างๆ ต้องเผชิญความเสี่ยง เช่น ความเชื่อมั่นของลูกค้าที่เสียหาย บทลงโทษด้านการปฏิบัติตามกฎระเบียบและข้อบังคับ และความล่าช้าในการย้ายระบบขนาดใหญ่
การรันการทดลองจำลองความล้มเหลวก่อนที่เหตุขัดข้องจริงจะเกิดขึ้น ช่วยยืนยันได้ว่ากลไกด้านความปลอดภัยทำงานได้ตามที่ตั้งใจไว้ และบริการที่มีความสำคัญต่อภารกิจยังคงออนไลน์อยู่ในระหว่างเหตุการณ์ไม่พึงประสงค์
ข้อเท็จจริงสำคัญ
Fault Injection Testing พร้อมให้ใช้งานในรูปแบบพรีวิวผ่าน Google Cloud console, gcloud CLI และ REST API
บริการนี้จะทำการ dry run แบบ read-only เพื่อตรวจสอบสิทธิ์การเข้าถึงและแสดงรายการทรัพยากรที่จะได้รับผลกระทบ ก่อนที่จะมีการฉีดข้อผิดพลาดใดๆ
พาร์ตเนอร์อย่าง KeyBank และ Servier ได้เริ่มใช้ Fault Injection Testing เพื่อตรวจสอบความถูกต้องของการดีพลอยของตนเองแล้ว
Google Cloud แนะนำให้ใช้ Fault Injection Testing ในสภาพแวดล้อมที่ไม่ใช่ production ในระหว่างช่วงพรีวิว
สิ่งที่ต้องจับตาดูต่อไป
องค์กรต่างๆ สามารถขอสิทธิ์เข้าถึงเวอร์ชันพรีวิวผ่าน Google Cloud Account Team ของตนเอง เปิดใช้งาน Fault Testing API และกำหนดบทบาท roles/faulttesting.operator เพื่อรันการทดลอง
ในระหว่างช่วงพรีวิว ผู้ใช้งานกลุ่มแรกสามารถให้ข้อเสนอแนะเพื่อช่วยกำหนดทิศทางของผลิตภัณฑ์ได้ และ Google Cloud อาจขยายขอบเขตของสถานการณ์ความล้มเหลวที่รองรับให้มากกว่าแค่ Cloud SQL failover และการทำให้ทราฟฟิกของ load balancer แย่ลง
