High Availability ו-Disaster Recovery

📚 System Design ⏱️ 13 דק׳ 🎓 מתקדם ✓ חינם לגמרי
High Availability ו-Disaster Recovery

למה Five Nines לא קורה במקרה

באוקטובר 2025 AWS עברה outage של 15+ שעות שפגע ב-140+ שירותים. הסיבה: race condition ב-DNS גרם לכשל מדורג ב-DynamoDB. מה שהפתיע מהנדסים בכל העולם, בדיקות הבריאות הרגילות עברו בהצלחה. הכשל קרה בשכבת ה-dependencies, לא בשירות עצמו. הארגונים שהתאוששו מהר היו אלה עם multi-region או hybrid infrastructure.

ב-2023 חברת לוגיסטיקה ישראלית איבדה 3 ימי data בגלל גיבוי שלא נבדק אף פעם. Backup שלא עבר restore test אינו גיבוי, זהו כשל ממתין לתאריך.

99.999% uptime (five nines) = 5.26 דקות downtime בשנה. 99.9% (three nines) = 8.7 שעות. לחברת payments ישראלית שמעבדת 2 מיליון שקל ביום, שעת downtime שווה כ-83,000 שקל. ההבדל בין שתי הרמות אינו רק טכני, הוא שאלה עסקית.

HA הוא לא DR, ההבדל שחשוב להבין

AWS עצמה מציינת במפורש: "High Availability is not Disaster Recovery." זהו אחד הבלבולים הנפוצים ביותר בתחום, והוא עולה כסף.

RDS Multi-AZ נותן HA מצוין, automatic failover תוך 60-120 שניות בתוך us-east-1. אבל אם us-east-1 כולה נופלת (כפי שקרה ב-2025), Multi-AZ לא עוזר. לזה צריך cross-region replica.

RTO ו-RPO, שתי המטריקות שמגדירות הכל

לפני כל DR design, חייבים לקבל מה-business שני מספרים. הם קובעים את הארכיטקטורה, התקציב, וה-SLA.

הכלל הפשוט: RTO ו-RPO נמוכים יותר = עלות גבוהה יותר. Active-Active multi-region מספק five nines אבל עולה פי 3. Cold Standby זול אבל RTO = שעות. הבחירה הנכונה נגזרת מעלות ה-downtime לעסק, לא מרצון הטכנולוגי.

4 דפוסי DR, Cost vs Recovery Time

PatternRTORPOעלות יחסיתמתאים ל
Backup & Restoreשעותשעותx1.0dev/staging
Pilot Light10-30 דק'דקותx1.2סטארטאפים, SaaS
Warm Standbyדקותשניותx1.5SaaS Enterprise, payments
Active-Active~אפס~אפסx2.5-3fintech, banking, בריאות

Pilot Light הוא נקודת המתיקות לרוב הסטארטאפים הישראליים: מחזיקים core infrastructure (RDS replica, Route53 health checks) תמיד פעיל ב-DR region, ומריצים בקנה מידה מלא רק בזמן אירוע. עלות נמוכה, RTO סביר.

איך עושים disaster recovery ב-AWS?
אני Head of Infrastructure בחברת SaaS ישראלית (B2B, 200 לקוחות enterprise). מעבדים 1.5M ש"ח/יום. עלות downtime: 60,000 ש"ח/שעה. SLA ל-enterprise: 99.95%. תשתית: AWS eu-west-1 בלבד, RDS PostgreSQL, Redis, 6 microservices ב-ECS Fargate. צוות: 3 DevOps. תכנן DR strategy: (1) חשב RTO/RPO מתאימים לעסק, (2) בחר pattern מתוך 4 האפשרויות עם הצדקת cost vs recovery, (3) ארכיטקטורה AWS מפורטת, איזה DR region, RDS cross-region replica vs Multi-AZ, Route53 failover, (4) הערכת עלות חודשית, (5) Runbook step-by-step לאירוע בשעה 3 לפנות בוקר.

Chaos Engineering, לבדוק לפני שהמציאות בודקת אותך

Netflix המציאה chaos engineering ב-2010 עם Chaos Monkey, כלי שמוריד instances בייצור באופן אקראי. הרעיון: אם כשלים יקרו ממילא, עדיף שהם יקרו בצורה מבוקרת ומתוכננת.

Google מפעילה DiRT (Disaster Recovery Testing), בדיקות אוטומטיות ורציפות של יכולת שחזור. המסקנה מ-Google SRE Book: "The difference between resilient systems and fragile ones is not whether failures occur, it's whether failure was anticipated, designed for, and operationally rehearsed."

עבור צוות ישראלי בן 3-4 מהנדסים, chaos engineering לא חייב להיות מורכב:

  1. הגדר hypothesis: "אם Redis instance אחד נופל, שאר השירות ממשיך לעבוד תוך 30 שניות"
  2. הגדר blast radius: מה יכול להשתבש אם ה-hypothesis שגוי?
  3. הרץ ב-staging עם AWS FIS (Fault Injection Simulator)
  4. מדוד: latency, error rate, recovery time
  5. Rollback מוגדר מראש

AWS Chaos Studio (GA ב-2025) הוא managed service שמוריד את החסם לצוותים קטנים. אין יותר תירוץ של "רק Netflix עושה את זה".

טעויות נפוצות בדרך ל-HA

Asynchronous replication ל-DR region
Synchronous replication, כל write חייב להיות confirmed ב-replica לפני commit
Daily snapshots ל-S3
Event sourcing בלבד
Health checks רגילים מספיקים לזיהוי כשלים מורכבים
כשל בשכבת ה-dependencies עוקף health checks רגילים, צריך לנטר dependency health בנפרד
AWS אינה אמינה מספיק ויש להעדיף multi-cloud תמיד
Route53 health checks אינם אמינים
שתי environments פעילות במקביל בשני regions, כל אחת מקבלת 50% מהתעבורה
Core infrastructure (DB replica) תמיד פעיל ב-DR region; שאר ה-services מופעלים מ-IaC רק בזמן אירוע
כל ה-services רצים ב-DR region בקנה מידה מוקטן תמיד
גיבוי לS3 כל שעה ושחזור ידני בזמן אירוע
15 דק', debug before production.">

סיכום: המסגרת לתכנון HA/DR

לפני שפותחים Terraform, צריך לענות על 3 שאלות:

  1. מהו עלות ה-downtime לשעה לעסק? זה קובע את ה-investment ceiling ב-HA.
  2. מהו RTO ו-RPO שה-business יכול לחיות איתם? לא מה שנוח טכנית, מה ה-business דורש בפועל.
  3. מתי בדקנו לאחרונה שהתהליך עובד? DR plan ללא dry run הוא wishful thinking.

Claude יכול לעזור בכל שלב: תכנון ארכיטקטורה, כתיבת Runbook מפורט, עיצוב Game Day exercise, ובניית chaos experiment plan. הכלי חזק, אבל ה-RTO ו-RPO חייבים לבוא מהבעלים של העסק, לא מהמהנדס.

רוצה ללמוד עם מעקב התקדמות, קוויזים ותעודה?

כל 130 השיעורים פתוחים בחינם, כולל נגן אינטראקטיבי, שמירת התקדמות ותעודה דיגיטלית בסיום.