fault tolerance หรือความทนทานต่อการเสียหายในเชิง Software คืออะไร
จริงๆ ก็แปลตามตัวเลยแหละครับ fault-tolerance คือการทนทานต่อการเสียหาย
จริงๆ มันก็มันคล้ายๆ Software ที่มีความเสถียร แต่ไม่ใช่ซะทีเดียวเพราะว่า
ความ เสถียรของระบบนั้นคือ การไม่ตาย ไม่เสียหาย ไม่ล่ม อะไรทำนองนั้น
แต่ fault-tolerance มันหมายถึงว่า ถึงมีบางส่วนตาย บางส่วนเสียหาย หรือ บางส่วนล่มไป
แต่ระบบมันก็ยังทำงานต่อได้เหมือนไม่มีอะไรเกิดขึ้น หรืออาจจะมีผลบ้างแต่ก็แปรผันตรงกับความเสียหายที่เกิด
ต่างจากระบบที่ไม่มี fault-tolerance ถ้าเกิดอะไรขึ้นแค่นิดเดียวก็ทำให้ร่วงไปทั้งระบบ
กระบวนการในการ Recovery เมื่อพบปัญหา
เพื่อเป็นตัวบอกว่า Software ของคุณมี fault tolerance มากน้อยเพียงใด
การตรวจจับความเสียหาย (Fault Detection): เป็นการทำ Monitoring เพื่อดูว่ามี Fault เกิดขึ้นหรือไม่
ถ้ามีจะต้องทำการวิเคราะห์และแจ้งเตือนเพื่อดำเนินการในการจัดการ Fault ต่อไป กระบวนการนี้ยิ่ง Detect เจอได้รวดเร็ว
และมี Alarm ได้ทันทีก็จะเกิดความเสียหายน้อยลง
การระบุตำแหน่งความเสียหาย (Fault Location): หลังจาก Detect เจอ Fault แล้วต่อมาคือการหาจุดที่เกิดความเสียหาย
หรือเกิด Fault นั่นเองกระบวนการนี้ยิ่งเราหาจุดที่เกิดความเสียหายได้เร็วเท่าไรก็ยิ่งทำให้สามารถควบคุมสถานการณ์ได้เร็วจึ้น
การจำกัดเขตความเสียหาย (Fault Containment): หลังจากรู้จุดที่เสียหายแล้วให้ทำการประเมินความเสียหาย
และกำหนดขอบเขตหรือผลกระทบว่ามีมากน้อยเพียงใดรวมถึงสกัดกั้นไม่ให้ลุกลามบานปลายไปมากกว่าเดิมและส่วนอื่นๆ
ที่ไม่ได้รับผลกระทบจะต้องยังสามารถทำงานต่อไปได้
การกู้คืนจากความเสียหาย (Fault Recovery): หลังจากนั้นจะเป็นขั้นตอนในการเยียวยา และกู้คืนระบบให้กลับมาทำงาน
ได้ 100 % เช่นเดิม
ดังนั้นแล้วสรุปได้ว่า System Failure นั้นเป็นเรื่องที่อาจเกิดขึ้นได้ไม่ว่าระบบนั้นๆ จะ Strong แค่ใหนก็ตาม
แต่ถ้าหากเรามีการจัดการ Fault Tolerance ที่ดีพอจะทำให้เราสามารถผ่านพ้นเหตุการณ์ที่ไม่ปรกติไปได้
โดยไม่ได้รับผลกระทบมากนั่นเอง