הרצת משימות ניתוח ב-Cloud Deploy

בעזרת Cloud Deploy אפשר לנתח את הביצועים של האפליקציות שפרסתם באמצעות פלטפורמת המעקב והמדדים שתבחרו. אפשר להשתמש בתוצאות של הניתוחים האלה כדי לבצע פעולות, כמו ביטול אוטומטי של הפריסה.

‫Cloud Deploy תומך ב-Google Cloud Observability ואפשר להרחיב אותו כדי לתמוך בפלטפורמות ניטור אחרות, כמו Datadog או Prometheus.

למרות ש-Cloud Deploy מציע אימות פריסה, שבו אפשר להשתמש כדי להריץ קונטיינרים שרירותיים לאימות פריסה, ניתוח מאפשר להשתמש בנתוני טלמטריה מ-Google Cloud Observability או משירות המעקב שתבחרו כדי להעריך את הביצועים של האפליקציות לאורך זמן.

אפשר להריץ משימות ניתוח בכל סביבת יעד (לדוגמה, staging או prod).

ספקים נתמכים של מדדים

‫Cloud Deploy תומך בניתוח באמצעות מדדים שמוצגים באחת מהדרכים הבאות:

איך פועל ניתוח ב-Cloud Deploy

בקטע הזה מוסבר איך פועל ניתוח של Cloud Deploy באמצעות מדיניות התראות של Google Cloud Observability. אם הארגון שלכם יוצר מאגר תגים בהתאמה אישית כדי להשתמש בספק מדדים אחר, חלק מהפונקציונליות הזו מטופל על ידי מאגר התגים בהתאמה אישית.

  • מגדירים מדדים במערכת המדדים שבחרתם.

    ‫Cloud Deploy תומך ב-Google Cloud Observability ללא צורך בהתאמה אישית. אתם יכולים גם להשתמש בספק המדדים שתבחרו על ידי יצירת מאגר תגים מותאם אישית לעיבוד הטלמטריה.

    מידע נוסף

  • הגדרת מדיניות התראות

    אם אתם משתמשים ב-Google Cloud Observability כדי לאסוף נתוני טלמטריה, אתם יכולים להשתמש במדיניות התראות כדי לזהות מתי נתוני הטלמטריה האלה מצביעים על בעיה.

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

  • הגדרת משימת ניתוח

    היא כוללת קטע analysis בקובץ ההגדרות של צינור ההפצה.

    משימת הניתוח מורכבת מבדיקה אחת או יותר של ניתוח, שכל אחת מהן מעריכה את ההתנהגות של האפליקציה שנפרסה על סמך יומנים או מדדים מ-Google Cloud Observability או מספק המדדים שלכם. משימת הניתוח פועלת למשך זמן מוגדר.

  • פריסת האפליקציה

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

  • עבודת הניתוח מתבצעת

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

    אם אף אחת מהבדיקות לא מזהה בעיה, הניתוח מסתיים אחרי שתקופת הזמן מסתיימת, וההשקה מצליחה.

שימוש בניתוח עם אוטומציות

אתם יכולים לציין אוטומציות לשימוש בניתוח שלכם.

לדוגמה, אם רוצים להריץ ניתוח של האפליקציה אחרי הפריסה שלה ב-staging, ואז לקדם אוטומטית את הגרסה ל-prod אם הניתוח מסתיים בלי התראות, אפשר להשתמש בpromoteReleaseRule אוטומציה.

לחלופין, אם רוצים לבטל באופן אוטומטי את הפריסה אם משימת ניתוח מוצאת בעיה ב-prod, אפשר להשתמש באוטומציה של repairRolloutRule.

לא צריך להשתמש באוטומציות כדי להשתמש בניתוח נתונים ולהפיק ממנו תועלת.

ניתוח בהתאמה אישית

ניתוח Cloud Deploy תומך בהתראות ובמדדים מ-Google Cloud Observability. אבל אפשר גם להשתמש בניתוח של Cloud Deploy עם ספקי מדדים שאינםGoogle Cloud.

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

מידע נוסף

שימוש בניתוח עם קנרי

שימוש טיפוסי בניתוח של Cloud Deploy הוא עם אסטרטגיית פריסה של גרסה ראשונית (canary). בעזרת Canary, אתם יכולים להשתמש במדדים מ-Google Cloud Observability או מהספק שתבחרו, כדי לקבוע אם להעביר את ההשקה לשלב הבא.

אפשר להשתמש באוטומציה של advanceRolloutRule עם הניתוח. לדוגמה, בשלב הקנרי לפני stable, אפשר לכלול משימת ניתוח כדי לוודא זמינות, ולהשתמש באוטומציה כדי להעביר את ההשקה ל-stable או לא, בהתאם לתוצאות הניתוח.

אם אתם משתמשים בפריסה של גרסה ראשונית (canary) בהתאמה אישית או באוטומציה בהתאמה אישית, אתם צריכים להגדיר משימות ניתוח בתוך ההגדרה של כל שלב שאתם רוצים לנתח.

מידע נוסף על פריסות קנריות

מצבי הפעלה של משימות ניתוח

אלה המצבים האפשריים של הרצת ניתוח:

  • IN_PROGRESS

    הניתוח התחיל ועדיין פועל. ההשקה נמשכת IN_PROGRESS אלא אם מבטלים אותה.

  • FAILED

    עבודת הניתוח זיהתה התראה מ-Google Cloud Observability, או קיבלה קוד יציאה שאינו אפס ממכולה בהתאמה אישית. מצב ההשקה הוא עכשיו FAILED. אבל אם מתעלמים מעבודת הניתוח או מנסים אותה מחדש, מצב ההשקה מתעדכן לIN_PROGRESS.

  • SUCCEEDED

    הניתוח הסתיים (התוקף של duration פג) ולא נמצאו אינדיקציות למדדים לא טובים. מצב ההשקה משתנה לSUCCEEDED אחרי שכל השלבים והמשימות האחרים מסתיימים.

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