זמינות גבוהה של SLA
זמינות גבוהה SLA
1) תנאים וחיבור לעסקים
(SLI (Service Level Indicator - אינדיקטור שירות נמדד (לדוגמה, הפרופורציה של בקשות מוצלחות 2xx/3xx.
(SLO (Service Level Objective - ערך מטרה SLI (למשל. "99. 95% מבקשות 300 ms".
SLA (הסכם רמת שירות) - התחייבות חוזית ללקוח (קנסות/קרדיטים במקרה של הפרה).
אמצעי ארכיטקטוני ותפעולי המאפשר לך לבצע SLO/SLA.
עיקרון: SLA מסתמך על SLO ו-SLO מסתמכים על סלים נצפים. אתה לא יכול להבטיח ב-SLA מה אתה לא מודד.
2) ”נינים” ומתמטיקה נגישות
זמינות לתקופה = ”work _ time/total _ time”. סימני ספסל (בשנה):הרכב של זמינות
שרשרת רציפה (באנגלית: Sequential chain): "A _ total = PY A_i' (כל רכיב מקטין את סך הכל).
קודקודי נכס מקבילים: ”A _ total = 1-II (1- A_i)” (הרזרבה גדלה בסך הכל).
3) מה בדיוק למדוד (נכון SLI)
תצוגת משתמש: השלמה מוצלחת של פעולות מפתח (התחברות, הפקדה, צ 'ק-אאוט) ו-latency p99.
מסדרון זמן: התקבצות על ידי הזזת חלונות (5/30/60 דקות) ועל ידי אזור.
יוצאים מן הכלל: ”חלונות מתוכננים” נספרים ב-SLOs, וב-SLAs רק אם החוזה אומר כך.
- זמינות: שיעור הצלחה מדורג T.
- איכות: p95/p99 latency.
- מרוכבים: ”נתח של פיקדונות מוצלחים 5 בידוד s”.
4) תקצוב שגיאה ושיעור צריבה
תקצוב שגיאה = ”1 -SLO”. עבור 99. 95% חלון חודשי נותן 0. 05% שגיאות/השבתה.
קצב צריבה: מהירות צריכת התקציב (למשל: 4 × פירושו שתוך 6 שעות אתה אוכל את הגבול היומי).
מדיניות: בעירה מהירה - עצירה משחררת, התמקדות בייצוב, הקפאת תכונה.
5) ארכיטקטורה: Node to Region
5. צומת/שירות 1
N + 1: לפחות העתק מיותר אחד (פריסה 2, PDB, אנטי-זיקה).
בידוד משאבים: גבולות CPU/RAM/IO, סדרי עדיפויות (Class).
כיבוי/ניקוז חינני: אין הפסקת בקשה על הפעלה מחדש.
5. 2 אזור/אזור
מולטי-AZ: העתקים באזורים שונים, איזון חוצה-אזורים, כוח/רשת עצמאית.
מרובה-אזורים: נכס-נכס (קשה יותר: נתונים/עקביות) או נכס-אחריות (פשוט יותר: מעל RPO).
נתונים: CP עבור כסף/הזמנות (quorum/RAFT), EC/AP עבור מטמונים/חנויות.
5. 3 שכבת רשת והיקף
L7-LB בדיקות רפואיות, ניסיון חוזר/פסק זמן/שבירת מעגל.
GSLB/DNS/Anycast עבור תנועה גלובלית, TTL קצר.
בקרת יציאה וערוצים סובלניים לקוי ל PSP/ספקים חיצוניים.
6) הידרדרות במקום ליפול
Kill-Switch תכונה (דגלי תכונה): לכבות לא-קריטי, לשמור את ”הנתיב האדום”.
עובר למסלולים מפושטים: asynchronous asynchronous/tour, ”מקובל לעיבוד”.
מגבלת קצב/מכסות: עדיף להגביל את התנועה מאשר להפיל את כולם.
מצבים מעופשים: תנו מידע מטמון/סטטי כאשר המקור אינו זמין.
7) ניהול אילוצים
מפת שירות: ישיר/טרנזיטיבי, ביקורתי, SLO של כל אחד.
קישורים פגיעים: ספק חיצוני ללא SLA - הופך למטמון/תור/שכפול.
בידוד מחיצה: בריכות חיבור/מכסות שונות למסלולים איטיים.
פסקי זמן> retries: פסקי זמן קצרים, מגש מקסימלי 1 עבור פעולות אידמפוטנטיות.
8) פעולות ושינויים
ניהול שינוי: שחרור באמצעות קנריות/כחול-ירוק, שערי SLO, רולבק אוטומטי.
חלונות מתוכננים: אורך סטנדרטי, תדר, תקשורת.
תקריות: תפקידים (IC/Comms/Tech/DB), ריצות "ו, לאחר המוות עם פעולות תיקון.
אירועים ביטחוניים: אם נפרץ, ”מצב פאניקה” (קריאה בלבד/אסימונים/סיבוב/חסימה).
9) יכולת התבוננות והתראה
מודל אדום (קצב, שגיאות, משך) לכל מסלול.
לוחות SLI: זמינות/latency על ידי אזור ועל ידי פלח הלקוח.
התראות שרפה: מהר (1, 14. 4 ×), איטי (6h, 2 ×) - אות לפני כישלון SLO.
מופת-מתגים ממדדים למערכים trace_id.
סינתטיים: דגימות מנקודות חיצוניות (היקף, זרימת תשלום).
10) מבחני סובלנות פגומים
ימי משחק: תרחישים לנטרול AZ/אזורים, הידלדלות מסד נתונים/מטמון, כישלון של ספקים חיצוניים.
כלי כאוס: רשת פולטים (latency/loss), תאי הרג, מעבד/IO עומס יתר.
ד ”ר-מקדחות: פיתוח RTO/RPO למערכות Tier-0 (ראו” גיבויים וד ”ר”).
11) עיצוב SLA
הגדרת ”זמינות”: מה שנחשב כאירוע (5xx, זמן> T, שגיאות תחום).
חלון חישוב: חודש/רבעון; הכללה/הדרה של פעילויות מתוכננות.
קרדיטים/עונשים: קנה מידה (למשל: 99. 9–99. 99% - X%, נמוך - Y%).
אחריות הלקוח: אינטגרציה, מגשים מחדש בגבולות סבירים, גבולות.
הודעות והליך של clymes: מונחים, פורמט, בסיס ראיות (לוגים/מטריים).
כוח עליון: ניסוח חוקי וגבולות.
- ”זמינות API על ידי SLI” 500 ms מוצלחת היא לפחות 99. 95 אחוז לחודש. חלונות מתוכננים (עד 60 דקות בחודש שהוכרזו תוך 48 שעות) לא נכללים. בשעה 99. 90–99. 95% - הלוואה 5%; 99. 80–99. 90% — 10%; <99. 80% — 25%.»
12) כלכלת תשיעיות
כל ”תשע” נוסף מעלה עלויות לא לינאריות (אזורים כפולים, קוורומים, שכפולים של ספקים, 24 × 7). השתמש טירינג SLO:- Tier-0 (כסף/הזמנות): 99. 95–99. 99%, מולטי-איי-זי, ד "ר מוכן.
- Tier-1 (תכונות בסיסיות): 99. 9–99. 95%, מולטי-איי-זי.
- Tier-2 (לא ביקורתי): 99. 5–99. 9%, הידרדרות/עצירה מותרת לתקריות.
13) דפוסי HA על ידי שכבה
היקף: CDN/edge, multi-CDN או GSLB, WAF, rate-limit.
איזון: L7 עם פליטת חוץ, פסקי זמן/מגשים, דביק/עקבי-חשיש.
יישומים: קנה מידה אופקי, מוכנות/לביאה, PDB, התפשטות טופולוגיה.
נתונים: CP, L2, idempotency, PITR.
תורים: שיקוף/רב צבעים, הרדמה, די-אל-קיו.
סודות/הגדרות: GitOps, תמונות אטומיות, rollback.
14) אנטי דפוסים
SLA ללא מדידת מכשירים וסינתטיים חיצוניים.
אזור אחד/אשכול כמו SPOF.
מגשים מחדש בלתי מבוקר = ”DDOS עצמי”.
עסקאות ארוכות/מוטציות על המסלול החם.
”כבד” נדידה/שחרור ללא קנריות ותוכנית רולבק.
חוסר ספר ריצות ותקשורת עם בעלי עניין בתקרית.
15) רשימת יישומים (0-60 יום)
0-15 ימים
הגדר SLIs משתמש קריטי, קבע SLOs לפי רמות Tier-0/1/2.
כולל התראות על שרפה, לוחות מחוונים, בדיקות היקפיות סינתטיות.
הסר את SPOF: 2 העתקים, PDB, מולטי AZ עבור חזיתות ומאגרי נתונים קריטיים.
16-40 ימים
הצג פרסומות קנריות עם גייטינג SLO וחזרה אוטומטית.
מפת התלות + מכסות/בריכות/פסקי זמן/PB עבור כל ”נתיב אדום”.
תקנה של חלונות מתוכננים ותקשורת, תבניות הודעות אירוע.
41-60 ימים
יום משחק: ניתוק של AZ, כישלון של ספק חיצוני, ”פרץ” של תנועה.
חישוב מחדש של סל "א וקרדיטים ממשיים, פרסום דוחות ללקוחות.
תיקון של ”עלות ↔ תשע” ושכיבה מחדש על מטווח הירי.
16) מדדי בגרות
ל-95% מהמסלולים הקריטיים יש התראות SLI/SLO ודרגי שריפה.
שגיאות SLO מלוות בהקפאה אוטומטית של שחרורים (מדיניות).
כיסוי מולטי-AZ Tier-0 = 100%, DR-תרגילי DR מוצלחים ברבעון אחד.
”גילוי” time p50 <5 min, p95 <15 min.
”לשחרר ↔ התקריות” - מתוחזק ומופחת (rollback rate auth).
תקרית ציבורית/דו "ח אשראי - בתוך ימי עסקים N.
17) דוגמאות וקטעים
התראות שרפה-קצב (רעיון כלל):- מהר: "SLO 99. 95%, חלון 1 h, לשרוף 14. 4 × עמוד תורן"
- לאט: ”חלון 6 h, לשרוף 2 × כרטיס ניטור”.
yaml circuit_breakers:
thresholds:
- max_connections: 200 max_pending_requests: 100 max_requests: 1000 max_retries: 1 outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50
קנרית עם ניתוח SLO (Argo Rollouts, רעיון):
yaml analysis:
templates:
- name: slo-burn metrics:
- name: error-rate successCondition: result < 0. 005 provider: prometheus
נוסחת SLI:
SLI: fraction_of_good_requests = good(HTTP 2xx/3xx ≤ 500ms) / all(requests)
SLO: ≥ 99. 95% per calendar month, per region
18) מסקנה
זמינות גבוהה היא לא רק אשכולות ושכפולים, אלא גם מערכת עקבית של ארכיטקטורה, תהליכים ומדדים: SLI/SLO ברור, SLA ריאליסטי, Nines כלכלה, הידרדרות במקום ליפול, דיסציפלינת זמן/מכסה, תרגולים קבועים ותקשורת שקופה. להפוך את הזמינות למדידה וניתנת לשליטה, וזה הופך להיות יתרון תחרותי, לא הגרלה.