EP11 มีไดอะแกรม

ออกแบบความพร้อมรับภัย

RTO vs RPO & Disaster Recovery

8 นาที·8 หัวข้อ
ตอนนี้เจาะ disaster recovery โดยเน้นความต่างของ RTO กับ RPO ซึ่งคนสับสนบ่อยมาก โทนพี่ติวน้อง ความยาว 16–20 นาที ศัพท์เทคนิคอังกฤษ อธิบายไทย เน้นการ map ความต้องการธุรกิจไปสู่กลยุทธ์และต้นทุน

หัวข้อนี้วัดสองอย่าง หนึ่งคือเราเข้าใจนิยาม RTO กับ RPO แบบไม่สับสนไหม สองคือเรา map ความต้องการธุรกิจไปสู่กลยุทธ์ DR และต้นทุนที่เหมาะได้ไหม คนจำนวนมากสลับ RTO กับ RPO หรือท่องได้แต่ใช้ไม่เป็น DCE ที่เก่งจะอธิบายให้ลูกค้าเข้าใจว่าความพร้อมรับภัยมีราคา แล้วช่วยหาจุดสมดุลระหว่างความเสี่ยงที่ธุรกิจรับได้กับงบที่จ่ายไหว

RTO (Recovery Time Objective): ระยะเวลานานที่สุดที่ระบบยอมหยุดทำงานได้ก่อนต้องกลับมาใช้งาน เป็นเรื่องของ "เวลา" ตอบคำถามว่า "ต้องกู้ระบบกลับมาเร็วแค่ไหน" เช่น RTO หนึ่งชั่วโมงแปลว่าหลังเกิดเหตุต้องทำให้ระบบกลับมาใช้ได้ภายในหนึ่งชั่วโมง

RPO (Recovery Point Objective): ปริมาณข้อมูลมากที่สุดที่ยอมสูญเสียได้ วัดเป็นช่วงเวลา เป็นเรื่องของ "จุดข้อมูล" ตอบคำถามว่า "ยอมเสียข้อมูลย้อนหลังได้กี่นาทีหรือกี่ชั่วโมง" เช่น RPO ห้านาทีแปลว่ายอมเสียข้อมูลที่เกิดในช่วงห้านาทีก่อนเหตุได้ ซึ่งกำหนดว่าต้อง backup หรือ replicate ถี่แค่ไหน

วิธีจำที่ไม่สับสน: RTO เกี่ยวกับ Time ที่ใช้กู้กลับ มองไปข้างหน้าจากจุดเกิดเหตุ; RPO เกี่ยวกับ Point ของข้อมูลล่าสุดที่กู้ได้ มองย้อนหลังจากจุดเกิดเหตุ ลองวาดเส้นเวลา จุดเกิดเหตุอยู่ตรงกลาง RPO คือช่วงย้อนหลังที่ข้อมูลหาย RTO คือช่วงไปข้างหน้าที่ใช้กู้ระบบ

หลักการต้นทุน: ยิ่ง RTO และ RPO ต่ำ (เข้าใกล้ศูนย์) ยิ่งต้องลงทุนสูงขึ้นมาก เพราะต้องมีระบบสำรองที่พร้อมกว่าและ replicate ถี่กว่า การถามลูกค้าว่ารับ RTO/RPO เท่าไหร่ได้คือการถามว่าเขายอมจ่ายเพื่อความพร้อมระดับไหน

RTO vs RPO Timeline
backup ล่าสุดเกิดเหตุincidentระบบกลับมาrecoveredRPOข้อมูลที่ยอมเสียRTOเวลาที่ใช้กู้ระบบ
จุดเกิดเหตุอยู่ตรงกลาง — RPO คือช่วงย้อนหลังที่ข้อมูลหาย (ต้อง backup/replicate ถี่แค่ไหน) · RTO คือช่วงไปข้างหน้าที่ใช้กู้ระบบกลับมา

สองคำนี้มักถูกพูดปนกันแต่ไม่เหมือนกัน:

  • High Availability (HA): ออกแบบให้ระบบไม่ล่มจากความล้มเหลวย่อย ๆ ภายใน region เช่นเครื่องเดียวพัง โดยกระจาย workload ข้ามหลาย zone มี redundancy และ failover อัตโนมัติ เป้าหมายคือ "ไม่ล่มตั้งแต่แรก"
  • Disaster Recovery (DR): แผนกู้คืนเมื่อเกิดภัยใหญ่ที่กระทบทั้ง region เช่นภัยธรรมชาติหรือ region ล่ม มักเกี่ยวกับการมีสำเนาข้าม region เป้าหมายคือ "กู้กลับได้เมื่อเกิดเหตุใหญ่"

ระบบที่ดีต้องมีทั้งสอง HA กันเหตุเล็กที่เกิดบ่อย DR กันเหตุใหญ่ที่เกิดนาน ๆ แต่กระทบหนัก

HA vs DR

High Availability (HA)

ไม่ล่มตั้งแต่แรก

  • กันความล้มเหลวย่อยภายใน region
  • กระจาย workload ข้ามหลาย zone + failover อัตโนมัติ
  • เช่น เครื่องเดียวพังก็ยังทำงานต่อ

Disaster Recovery (DR)

กู้กลับได้เมื่อเกิดเหตุใหญ่

  • กันภัยใหญ่ที่กระทบทั้ง region
  • มีสำเนาข้าม region
  • เช่น ภัยธรรมชาติหรือ region ล่ม
ระบบที่ดีต้องมีทั้งสอง: HA กันเหตุเล็กที่เกิดบ่อย · DR กันเหตุใหญ่ที่เกิดนาน ๆ แต่กระทบหนัก

มีสี่รูปแบบหลักไล่จากถูก-ช้า ไปแพง-เร็ว:

Backup and Restore: เก็บ backup ไว้แล้วกู้คืนเมื่อเกิดเหตุ RTO และ RPO สูง (ระดับชั่วโมงถึงวัน) ถูกที่สุดเพราะไม่ต้องรันระบบสำรองตลอด เหมาะ workload ที่ไม่ critical มาก

Pilot Light: เก็บส่วนแกนของระบบไว้ขั้นต่ำ เช่น database ที่ replicate ไว้ ส่วน compute ปลุกขึ้นมาเมื่อเกิดเหตุ RTO/RPO ดีขึ้น ต้นทุนปานกลาง

Warm Standby: มีระบบสำรองรันอยู่บางส่วนตลอดในขนาดเล็ก เมื่อเกิดเหตุก็ scale ขึ้นมารับงานจริงได้เร็ว RTO/RPO ต่ำ ต้นทุนสูงขึ้น

Hot Standby หรือ Multi-site Active-Active: ระบบสำรองรันเต็มขนาดพร้อมรับงานทันที หรือทั้งสองฝั่งรับงานพร้อมกัน RTO/RPO เข้าใกล้ศูนย์ แพงที่สุดเพราะต้องจ่ายโครงสร้างซ้ำเกือบเต็ม เหมาะระบบที่หยุดไม่ได้เลย เช่นการเงินหลัก

การเลือกกลยุทธ์คือการแปลตัวเลข RTO/RPO ของลูกค้าเป็นรูปแบบที่เหมาะ แล้วชั่งกับงบ

DR Strategy Spectrum
◀ ถูก · กู้ช้าแพง · กู้เร็ว (RTO/RPO ~0) ▶
Backup & Restoreถูกสุด · ช้าสุด
Pilot Lightแกนระบบขั้นต่ำ
Warm Standbyสำรองรันบางส่วน
Hot / Active-Activeพร้อมทันที · แพงสุด
ยิ่ง RTO/RPO ต่ำ (กู้เร็ว เสียข้อมูลน้อย) ยิ่งแพงขึ้นมาก — เลือกกลยุทธ์ที่สมดุลระหว่างความเสี่ยงที่ธุรกิจรับได้กับงบ

แนวทางและ service ที่เกี่ยวข้อง:

  • กระจายข้าม zone และ region: zone หลายตัวใน region เดียวให้ HA, การมีสำเนาข้าม region ให้ DR
  • Database replication: เช่น Cloud SQL มี cross-region replica และ automated backup, Spanner มี multi-region configuration ที่ให้ทั้ง availability และความถูกต้องระดับ global
  • Cloud Storage หลาย location: เลือก regional, dual-region หรือ multi-region ตามความต้องการความทนทานและ availability
  • Backup and DR Service: บริการสำรองและกู้คืนแบบจัดการให้
  • Snapshot ของ Persistent Disk และ automated backup ตามตาราง
  • Load balancing และ traffic management สำหรับสลับไปใช้ระบบสำรองเมื่อเกิดเหตุ
  • Infrastructure as code: ทำให้สร้างระบบขึ้นใหม่ในอีก region ได้เร็วและซ้ำได้
  • การทดสอบ DR: แผน DR ที่ไม่เคยทดสอบคือแผนที่เชื่อไม่ได้ ควรพูดถึงการซ้อม failover เป็นระยะ

ถาม: "RTO กับ RPO ต่างกันอย่างไร" ตอบ: RTO คือเวลาที่ยอมให้ระบบล่มก่อนกู้กลับ, RPO คือข้อมูลย้อนหลังที่ยอมเสียได้ ใช้เส้นเวลาอธิบายและยกตัวอย่างตัวเลข

ถาม: "ลูกค้าต้องการ RTO หนึ่งชั่วโมง RPO ห้านาที จะออกแบบอย่างไร" ตอบ: RPO ห้านาทีต้อง replicate หรือ backup ถี่ระดับนาที เช่น cross-region replica ของ database; RTO หนึ่งชั่วโมงเลือกได้ราว warm standby ที่ scale ขึ้นได้เร็ว พร้อม automated failover และทดสอบเป็นระยะ

ถาม: "HA กับ DR ต่างกันอย่างไร" ตอบ: HA กันเหตุย่อยภายใน region ด้วย multi-zone, DR กันเหตุใหญ่ระดับ region ด้วยสำเนาข้าม region

ถาม: "ลูกค้าอยากได้ RTO/RPO เป็นศูนย์แต่งบจำกัด จะคุยอย่างไร" ตอบ: อธิบายว่าใกล้ศูนย์ยิ่งแพงแบบทวีคูณ ชวนจัดลำดับว่าระบบไหน critical จริงค่อยลงทุนสูง ส่วนระบบรองใช้กลยุทธ์ที่ถูกลง เป็นการ map ความเสี่ยงกับงบ

ถาม: "ทำไมต้องทดสอบ DR" ตอบ: เพราะแผนที่ไม่เคยซ้อมมักใช้ไม่ได้จริงตอนเกิดเหตุ การซ้อม failover ทำให้มั่นใจว่าตัวเลข RTO/RPO เป็นจริง

สลับนิยาม RTO กับ RPO; ท่องนิยามได้แต่ map เป็นกลยุทธ์ไม่เป็น; เสนอ active-active กับทุกระบบโดยไม่ดูงบและความ critical; สับสน HA กับ DR; ลืมว่าการเลือกกลยุทธ์คือการแลกต้นทุนกับความเสี่ยง; ไม่พูดถึงการทดสอบ DR; ไม่ถามตัวเลข RTO/RPO ก่อนออกแบบ

RTO คือเวลาที่ยอมให้ล่มก่อนกู้กลับ RPO คือข้อมูลย้อนหลังที่ยอมเสียได้ ยิ่งต่ำยิ่งแพง HA กันเหตุเล็กภายใน region ส่วน DR กันเหตุใหญ่ข้าม region กลยุทธ์ DR ไล่จาก backup-restore, pilot light, warm standby ถึง hot standby/active-active ตามต้นทุนและความเร็ว บน GCP ใช้ multi-zone, multi-region, database replication, automated backup และ IaC พร้อมทดสอบ failover เป็นระยะ หัวใจคือ map ตัวเลข RTO/RPO ของลูกค้าเป็นกลยุทธ์ที่สมดุลระหว่างความเสี่ยงกับงบ