שימוש ב-CloudOps כדי להבטיח מוכנות תפעולית וביצועים

Last reviewed 2024-10-31 UTC

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

סקירה כללית של העקרונות

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

תחומי המיקוד של מוכנות תפעולית

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

תחום המיקוד של מוכנות תפעולית פעילויות ורכיבים
כוח עבודה
  • הגדרת תפקידים ותחומי אחריות ברורים לצוותים שמנהלים את משאבי הענן ומפעילים אותם.
  • לוודא שלחברי הצוות יש את הכישורים המתאימים.
  • פיתוח תוכנית למידה.
  • הגדרת מבנה צוות ברור.
  • גיוס הכישרונות הנדרשים.
תהליכים
  • ניראות (observability).
  • ניהול שיבושים בשירות.
  • משלוח בענן.
  • פעולות ענן מרכזיות.
כלים כלים שנדרשים לתמיכה בתהליכי CloudOps.
פיקוח
  • רמות שירות ודיווח.
  • נתונים פיננסיים בענן.
  • מודל הפעלה בענן.
  • בדיקת ארכיטקטורה ומועצות ניהול.
  • ארכיטקטורת ענן ותאימות.

המלצות

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

הגדרת SLO ו-SLA

אחת האחריות העיקריות של צוות תפעול הענן היא להגדיר יעדים למדידת רמת השירות (SLOs) והסכמי רמת שירות (SLAs) לכל עומסי העבודה הקריטיים. ההמלצה הזו רלוונטית לתחום ההתמקדות של מוכנות תפעולית בנושא ניהול.

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

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

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

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

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

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

הטמעה של ניראות מקיפה

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

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

כדי להבטיח מעקב מקיף, כדאי לעקוב אחרי מדדים חשובים שתואמים לאינדיקטורים של בריאות המערכת, כמו ניצול המעבד (CPU), שימוש בזיכרון, תנועה ברשת, קלט/פלט (I/O) בדיסק וזמני תגובה של אפליקציות. כדאי גם להתייחס למדדים ספציפיים לעסק. מעקב אחרי המדדים האלה מאפשר לזהות צווארי בקבוק פוטנציאליים, בעיות בביצועים ומגבלות של משאבים. אפשר גם להגדיר התראות כדי להודיע לצוותים הרלוונטיים באופן יזום על בעיות או אנומליות פוטנציאליות.

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

הטמעה של בדיקות ביצועים ועומס

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

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

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

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

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

תכנון וניהול של הקיבולת

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

תכנון הקיבולת העתידית כולל הבנה וניהול של מכסות למשאבים שונים כמו מכונות וירטואליות, אחסון ובקשות API. ניתוח של דפוסי שימוש היסטוריים, תחזיות צמיחה ודרישות עסקיות מאפשר לכם לחזות בצורה מדויקת את דרישות הקיבולת העתידיות. אתם יכולים להשתמש בכלים כמו Cloud Monitoring ו-BigQuery כדי לאסוף ולנתח נתוני שימוש, לזהות מגמות ולחזות את הביקוש העתידי.

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

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

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

מעקב ואופטימיזציה באופן רציף

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

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

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

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

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

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