תכנון של SLO

בדף הזה מופיע מידע שעשוי להיות שימושי לפני יצירת יעד למדידת רמת השירות (SLO).

סקירה כללית על יעדים למדידת רמת השירות (SLO)

סוג ה-SLI ויעדי התאימות

‫Cloud Service Mesh תומך בסוגים הבאים של מדדי רמת שירות (SLI):

  • זמן אחזור: משך הזמן שלוקח לשירות להחזיר תגובה לבקשה, נמדד באלפיות שנייה.
  • זמינות: חלקיק הזמן שבו שירות מגיב בהצלחה.
  • אחר: סוג SLO שניתן להתאמה אישית על סמך המדדים שניתנים להגדרה.

אתם גם מגדירים את יעד התאימות שאתם רוצים להשיג מהשירות. באופן כללי, יעדי ה-SLO לא צריכים להיות גבוהים יותר מהנדרש או מהמשמעותי למשתמשים שלכם. כדאי לחשוב באיזה שלב המשתמשים עשויים להבחין בירידה באיכות השירות. לדוגמה, אם המשתמשים לא יכולים להבחין בהבדל בין זמן אחזור של 300 אלפיות השנייה לבין זמן אחזור של 500 אלפיות השנייה בשירות שלכם, כדאי להשתמש בערך הגבוה יותר כסף זמן האחזור ב-SLO. הערך הנמוך יותר יקר יותר להשגה, והמשתמשים לא יבחינו בהבדל.

כשמגדירים יעד תאימות, צריך לקחת בחשבון את הדרישות של משתמשי הקצה לגבי השירות. לדוגמה, כלי פנימי שמשמש את העובדים להזמנת ימי חופשה יכול להיות בסדר עם יעד זמינות של 99% (כ-3 ימי השבתה בשנה). אבל שירות קריטי לחנות וירטואלית צריך זמינות של 99.999% (כ-5 דקות של השבתה בשנה).

תקופות תאימות

בנוסף להגדרת יעד ל-SLI, ‏ SLO מציין תקופת זמן שבה מתבצעת המדידה של ה-SLI. לדוגמה, זמינות של 99% ביום אחד שונה מזמינות של 99% במהלך חודש. ב-SLO הראשון, זמן ההשבתה הרצוף לא יכול להיות יותר מ-14 דקות (24 שעות * 1%), בעוד שב-SLO השני, זמן ההשבתה הרצוף יכול להיות עד 7 שעות (30 ימים * 1%).

תקופת התאימות חשובה במיוחד כשמטרת רמת השירות (SLO) כלולה בהסכם רמת שירות (SLA) עם המשתמשים. הסכם רמת שירות (SLA) הוא חוזה עם המשתמשים בשירות שלכם, שבדרך כלל מצוינות בו ההשלכות של אי-עמידה ביעדי רמת השירות (SLO). ההחלטה אם להגדיר הסכם רמת שירות (SLA) עם המשתמשים היא החלטה עסקית או החלטה שקשורה למוצר, אבל לצורך מעקב, עדיין צריך לציין תקופת תאימות ל-SLO כשיוצרים אותם.

כשמגדירים יעדי זמינות (SLO), בוחרים את סוג תקופת התאימות:

  • לוח שנה: כשבוחרים באפשרות לוח שנה בתור סוג התקופה, צריך גם לציין את משך התקופה, שיכול להיות יום, שבוע או חודש. התקופות לא חופפות וקבועות לפי תאריכי ההתחלה והסיום ביומן. אפשר להעריך את התאימות רק בסוף התקופה.

  • מתגלגל: כשבוחרים באפשרות מתגלגל בתור סוג התקופה, צריך לציין גם את מספר הימים של משך התקופה, למשל 30 ימים. בניגוד לתקופות ביומן, לתקופות מתגלגלות אין תאריכי התחלה וסיום קבועים. ‫Cloud Service Mesh מעריך באופן רציף את יעדי רמת השירות (SLO) עם תקופת תאימות מתגלגלת. הנתונים הכי ישנים בחישוב הקודם לא נכללים בחישוב הנוכחי כי הם מוחלפים בנתונים חדשים. פרק זמן מתגלגל מאפשר לקבל יותר מדידות של תאימות, כי בכל יום מקבלים מדידה של תאימות ל-30 הימים האחרונים, ולא אחת בחודש. עם זאת, סטטוס ה-SLO משתנה מדי יום, ולכן יכול להיות ששירותים יעברו בין מצב של עמידה בדרישות לבין מצב של אי-עמידה בדרישות.

תקציבי שגיאות

מושג חשוב נוסף שקשור למעקב הוא תקציב השגיאות. יעד למדידת רמת השירות (SLO) מציין אינדיקטור ברמת השרת (SLI) וערך יעד שמודד את הצלחת השירות בתקופת התאימות. תקציב השגיאות של SLO מייצג את משך הזמן הכולל שבו שירות יכול להיות לא תואם לפני שהוא מפר את ה-SLO. לכן, תקציב השגיאות הוא 100% - SLO%. לדוגמה, אם יש לכם יעד זמינות מתגלגל ל-30 יום עם יעד תאימות של 99.99%, תקציב השגיאות שלכם הוא 0.01% מ-30 יום: קצת יותר מ-4 דקות של זמן השבתה מותר בכל 30 יום. לשירות שנדרש לעמוד ביעד של 100% SLO אין תקציב שגיאות.

תקציבי שגיאות מאפשרים לעקוב אחרי מספר המדידות הלא תקינות של SLI שמותרות במהלך התקופה שנותרה לתאימות, לפני שהשירות מפר את ה-SLO. אפשר להשתמש בתקציב השגיאות כדי לנהל משימות תחזוקה כמו פריסה של גרסאות חדשות. כשמתקרבים למיצוי תקציב השגיאות, לא מומלץ לבצע פעולות מסוכנות כמו פריסת עדכונים חדשים. לעומת זאת, אם יש לכם תקציב שגיאות מלא לקראת סוף תקופת התאימות, כדאי להשיק תכונות חדשות כי הסיכון להפרת ה-SLO נמוך יותר.

אם אתם מודדים יעד SLO עם תקופת תאימות ללוח שנה, Service Mesh מתחיל את תקציב השגיאות בערך המקסימלי ומקטין את התקציב לאורך זמן, ומפעיל הפרה של יעד ה-SLO כשתקציב השגיאות יורד מתחת ל-0. ב-Cloud Service Mesh, תקציב השגיאות של SLO מאופס בסוף תקופת התאימות.

אם אתם מודדים את ה-SLO על פני תקופת תאימות מתגלגלת, אתם תמיד בסוף תקופת התאימות. במקום להתחיל מאפס, נקודות נתונים ישנות מוסרות באופן רציף ונקודות נתונים חדשות מתווספות באופן רציף. אם תקופה של עמידה נמוכה בדרישות מסתיימת מחוץ לחלון התאימות, וה-SLO עומד בדרישות, תקציב השגיאות גדל. בכל נקודת זמן, error budget ≥ 0 מציין חלון זמן מתגלגל של SLO שעומד בדרישות, ו-error budget < 0 מציין חלון זמן מתגלגל של SLO שלא עומד בדרישות.

המאמרים הבאים