בדף הזה מוסבר על חלונות ההחרגה בבדיקות הזרקת תקלות, ואיך אפשר להשתמש בהם כדי להגן על האפליקציות והשירותים שלכם במהלך פעולות עסקיות קריטיות.
חלונות ההחרגה משפרים את השליטה שלכם בלוחות הזמנים של בדיקות העמידות. חלון החרגה הוא תקופת זמן שאתם מגדירים, שבמהלכה לא ניתן להתחיל ניסויים חדשים של הזרקת תקלות. התכונה הזו עוזרת להגן על האפליקציות והשירותים שלכם במהלך אירועים קריטיים, כמו:
- שעות שיא של תנועת גולשים או אירועי מכירות עם נפח גבוה
- שדרוגים או העברות משמעותיים של נתונים במערכת
- חלונות זמן קריטיים לתחזוקה
בזמן שחלון ההחרגה פעיל, בדיקת הזרקת תקלות חוסמת כל ניסיון להתחיל ניסויים חדשים בהיקף המוגדר. ניסויים שכבר פעלו לפני שהחלון של תקופת ההחרגה הפך לפעיל יורשו להמשיך עד לסיום.
איך פועלים חלונות ההחרגה
היקף וטירגוט
כשמגדירים חלון החרגה, בוחרים אזור ספציפי ב-Cloud. אחרי ההפעלה, חלון ההחרגה מונע הפעלה של ניסויים חדשים רק באזור המיועד הזה, בלי קשר לתבנית הניסוי שבה נעשה שימוש.
הפעלה ומשך
כשיוצרים חלון החרגה, מגדירים את הפרמטרים שלו אבל הוא לא מופעל באופן מיידי. כדי שהחלון יהיה פעיל, צריך להפעיל אותו באופן מפורש.
חלון פעיל של החרגה מפסיק את החסימה של ניסויים באחת משתי דרכים:
- תפוגה אוטומטית: כל חלון החרגה מוגדר עם משך זמן. אחרי שמפעילים את החלון, הוא מושבת באופן אוטומטי אחרי פרק הזמן הזה. המערכת מחשבת את שעת הסיום (שעת ההתחלה + משך הזמן) ומפסיקה לחסום ניסויים חדשים אחרי שהשעה הנוכחית חולפת את שעת הסיום הזו.
- עצירה ידנית: אפשר לעצור ידנית חלון החרגה פעיל לפני שתוקף משך הזמן המתוכנן שלו יפוג. האפשרות הזו שימושית אם התקופה הקריטית מסתיימת מוקדם מהצפוי ואתם רוצים להמשיך בבדיקה באופן מיידי.
ניהול חלונות ההחרגה במסוף Google Cloud
לפני שממשיכים, צריך להיות לכם תפקיד roles/faulttesting.operator.
יצירה והגדרה של חלון החרגה
- במסוף Google Cloud , נכנסים לדף Fault Injection Testing Exclusion windows.
- לוחצים על יצירת חלון החרגה.
- מציינים את האזור בענן, את המשך ואת התיאור (אופציונלי).
- לוחצים על יצירה.
שליטה ידנית בחלון החרגה
אפשר להפעיל ידנית את הפעולות התחלה ועצירה לכל חלון החרגה שהוגדר ישירות ממסוף Google Cloud .
הפעלה אוטומטית של חלון החרגה
לדוגמה, יכול להיות שתרצו לתזמן את ההפעלה כך שתתאים לחלון זמן מתוכנן לתחזוקה או לאירוע חוזר. כדי להפעיל באופן אוטומטי חלון החרגה:
- אחרי שיוצרים חלון החרגה, מעתיקים את כתובת ה-URL של HTTPS עבור
StartExclusionWindowRPC שמוצג בממשק המשתמש. - משתמשים בשירות תזמון כמו Cloud Scheduler כדי להגדיר משימה ששולחת בקשה לכתובת ה-URL הזו בזמן שבחרתם.
ניהול חלונות ההחרגה באמצעות Google Cloud CLI
אפשר לנהל משאבים של חלונות החרגה באמצעות הפקודות של gcloud alpha fault-testing
exclusion-windows.
יצירת חלון החרגה
כדי ליצור חלון החרגה, משתמשים בפקודה create. מציינים את מזהה החלון,
את אזור היעד ואת משך הזמן:
gcloud alpha fault-testing exclusion-windows create EXCLUSION_WINDOW_ID \
--location=REGION \
--duration=DURATION \
[--description="DESCRIPTION"]
מחליפים את מה שכתוב בשדות הבאים:
-
EXCLUSION_WINDOW_ID: מזהה ייחודי של החלון (לדוגמה,black-friday-freeze). -
REGION: האזור שבו החלון הזה חל (לדוגמה,us-central1). Google Cloud -
DURATION: משך הזמן הפעיל, בשניות (לדוגמה,86400sל-24 שעות). -
DESCRIPTION: (אופציונלי) תיאור של מטרת החלון.
דוגמה:
gcloud alpha fault-testing exclusion-windows create black-friday-freeze \
--location=us-east1 \
--duration=259200s \
--description="Exclusion window for Black Friday to Cyber Monday sales period"
מחיקת חלון החרגה
כדי למחוק הגדרה של חלון החרגה, משתמשים בפקודה delete:
gcloud alpha fault-testing exclusion-windows delete EXCLUSION_WINDOW_ID \
--location=REGION
התחלת חלון החרגה
כדי להפעיל חלון החרגה שהוגדר, משתמשים בפקודה start:
gcloud alpha fault-testing exclusion-windows start EXCLUSION_WINDOW_ID \
--location=REGION
הפסקת חלון החרגה
כדי להשבית ידנית חלון החרגה פעיל לפני הזמן, משתמשים בפקודה stop:
gcloud alpha fault-testing exclusion-windows stop EXCLUSION_WINDOW_ID \
--location=REGION
שיטות מומלצות
כשיוצרים חלון החרגה, כדאי להתחשב בנקודות הבאות:
- מתכננים חפיפה בין ניסויים. כדאי להתחיל את חלונות ההשבתה קצת לפני תחילת התקופה העסקית הקריטית. מותר לניסויים שפועלים להסתיים, ולכן התחלת החלון מוקדם יותר מבטיחה שכל התקלות יתוקנו לפני שתקופת הקריטית תתחיל.
- שימוש במזהים תיאוריים. כדי לזהות את המטרה וההיקף של חלון הזמן, משתמשים במזהים ברורים ובעלי משמעות (לדוגמה,
black-friday-freezeאוsystem-migration-us-east1). - התאמת משך הזמן לסוג האירוע. משך החלון צריך להיות זהה למשך הצפוי של האירוע הקריטי. למבצעים גדולים של חגים, מומלץ להגדיר משך זמן של כמה ימים (לדוגמה,
259200sל-3 ימים). - שימוש בפעולות אוטומטיות. אפשר להשתמש ב-Cloud Scheduler כדי להפוך את ההפעלה של חלונות ההחרגה לאוטומטית עבור אירועים חוזרים או תחזוקה מתוכננת, וכך לצמצם את המאמץ הידני ואת הסיכון להשמטה.
- שמירה על גמישות. חשוב לזכור שאפשר להשתמש בפקודה
stopכדי לסיים חלון מוקדם אם תקופה קריטית מסתיימת מוקדם מהצפוי, וכך אפשר להמשיך מיד בבדיקת העמידות.