העיקרון הזה, שמופיע בעמוד התווך של אופטימיזציית עלויות ב-Google Cloud Well-Architected Framework, מספק המלצות שיעזרו לכם לתכנן ולהקצות משאבים בהתאם לדרישות ולדפוסי הצריכה של עומסי העבודה בענן.
סקירה כללית של העקרונות
כדי לייעל את העלות של משאבי הענן, אתם צריכים להבין לעומק את דרישות המשאבים ואת דפוסי העומס של עומסי העבודה שלכם. ההבנה הזו היא הבסיס למודל עלות מוגדר היטב, שמאפשר לחזות את עלות הבעלות הכוללת (TCO) ולזהות את הגורמים לשינוי בעלויות לאורך תהליך המעבר לענן. ניתוח וחיזוי של ההוצאות בענן באופן יזום מאפשרים לכם לקבל החלטות מושכלות לגבי הקצאת משאבים, ניצול משאבים ואופטימיזציה של עלויות. הגישה הזו מאפשרת לכם לשלוט בהוצאות בענן, להימנע מהקצאת יתר ולוודא שהמשאבים בענן תואמים לצרכים הדינמיים של עומסי העבודה והסביבות שלכם.
המלצות
כדי לבצע אופטימיזציה יעילה של השימוש במשאבי הענן, כדאי להביא בחשבון את ההמלצות הבאות.
בחירת משאבים ספציפיים לסביבה
לכל סביבת פריסה יש דרישות שונות לזמינות, לאמינות ולמדרגיות. לדוגמה, יכול להיות שהמפתחים יעדיפו סביבה שמאפשרת להם לפרוס ולהריץ אפליקציות במהירות לפרקי זמן קצרים, אבל לא בהכרח צריכים זמינות גבוהה. לעומת זאת, סביבת ייצור בדרך כלל דורשת זמינות גבוהה. כדי למקסם את ניצול המשאבים, הגדירו דרישות ספציפיות לסביבה בהתאם לצרכים העסקיים שלכם. דוגמאות לדרישות ספציפיות לסביבה:
- ייצור: זמינות גבוהה, ביצועים צפויים, יציבות תפעולית ואבטחה עם משאבים חזקים.
- פיתוח ובדיקה: יעילות מבחינת עלות, תשתית גמישה עם קיבולת מתפרצת (burstable) ותשתית זמנית כשלא צריך לשמור את הנתונים.
- סביבות אחרות (כמו Staging ו-QA): הקצאת משאבים מותאמת אישית לפי הדרישות הספציפיות של הסביבה.
בחירת משאבים ספציפיים לעומס העבודה
לכל אחד מעומסי העבודה בענן יכולות להיות דרישות שונות לגבי זמינות, מדרגיות, אבטחה וביצועים. כדי לבצע אופטימיזציה של העלויות, צריך להתאים את בחירת המשאבים לדרישות הספציפיות של כל עומס עבודה. לדוגמה, יכול להיות שאפליקציה בלי שמירת מצב לא תדרוש את אותה רמת זמינות או אמינות כמו בקצה עורפי עם שמירת מצב. בסעיפי המשנה הבאים מפורטות דוגמאות נוספות לדרישות ספציפיות לעומסי עבודה.
עומסי עבודה קריטיים למשימה
- דרישות עומס העבודה: זמינות רציפה, אבטחה חזקה וביצועים גבוהים.
- אפשרויות למשאבים: משאבים פרימיום ושירותים מנוהלים כמו Spanner, לזמינות גבוהה ולעקביות גלובלית של הנתונים.
עומסי עבודה לא קריטיים
- דרישות עומס העבודה: תשתית חסכונית עם התאמה לעומס (autoscaling).
- אפשרויות למשאבים: משאבים עם תכונות בסיסיות ומשאבים זמניים כמו VM במודל Spot.
עומסי עבודה מבוססי-אירועים
- דרישות עומס העבודה: התאמה דינמית של קנה המידה על סמך הביקוש הנוכחי לקיבולת ולביצועים.
- אפשרויות למשאבים: שירותים ללא שרת (serverless) כמו Cloud Run ופונקציות Cloud Run.
עומסי עבודה ניסיוניים
- דרישות עומס העבודה: סביבה גמישה וזולה לפיתוח, חזרה על תהליך העבודה, בדיקה וחדשנות במהירות.
- אפשרויות למשאבים: משאבים עם תכונות בסיסיות, משאבים זמניים כמו VM במודל Spot וסביבות ארגז חול עם מגבלות הוצאה מוגדרות.
אחד היתרונות של הענן הוא האפשרות לנצל את כוח המחשוב המתאים ביותר לעומס עבודה נתון. חלק מעומסי העבודה מפותחים כדי לנצל את היתרונות של סטי פקודות למעבד, ואחרים לא מתוכננים כך. כדאי לבצע השוואת ביצועים וליצור פרופיל של עומסי העבודה בהתאם. סווגו את עומסי העבודה ובחרו משאבים ספציפיים לעומסי העבודה (לדוגמה, בחרו משפחות מכונות מתאימות למכונות וירטואליות של Compute Engine). כך תוכלו לייעל את העלויות, לאפשר חדשנות ולשמור על רמת הזמינות והביצועים שעומסי העבודה שלכם צריכים.
הנה כמה דוגמאות לאופן שבו אפשר ליישם את ההמלצה הזו:
- לעומסי עבודה קריטיים שמשרתים משתמשים שפזורים ברחבי העולם, כדאי להשתמש ב-Spanner. Spanner מייתר את הצורך בפריסות מורכבות של מסדי נתונים, כי הוא מבטיח את האמינות והעקביות של הנתונים בכל האזורים.
- בעומסי עבודה עם רמות עומס משתנות, כדאי להשתמש בהתאמה אוטומטית לעומס כדי לוודא שלא תצברו עלויות כשהעומס נמוך, ועדיין לשמור על קיבולת מספיקה כדי לעמוד בעומס הנוכחי. אתם יכולים להגדיר התאמה אוטומטית לעומס (scaling) בשירותים רבים שלGoogle Cloud , כולל מכונות וירטואליות של Compute Engine, אשכולות של Google Kubernetes Engine (GKE) ו-Cloud Run. כשמגדירים התאמה אוטומטית לעומס, אפשר להגדיר מגבלות מקסימליות להתאמה לעומס כדי לוודא שהעלויות לא יחרגו מהתקציבים שהוגדרו.
בחירת אזורים לפי דרישות העלות
כשאתם בוחרים אזורים לעומסי העבודה בענן, כדאי לבדוק היטב את האזורים הזמינים ב- Google Cloudולבחור אזורים שמתאימים ליעדי העלות שלכם. יכול להיות שהאזור עם העלות הנמוכה ביותר לא יציע זמן אחזור אופטימלי או לא יעמוד בדרישות הקיימוּת שלכם. לקבל החלטות מושכלות לגבי המיקום שבו כדאי לפרוס את עומסי העבודה כדי להשיג את האיזון הרצוי. אתם יכולים להשתמש בGoogle Cloud כלי לבחירת אזור כדי להבין את יחסי הגומלין בין עלות, קיימוּת, זמן אחזור וגורמים אחרים.
שימוש באפשרויות מובנות לאופטימיזציה של עלויות
במוצריGoogle Cloud יש תכונות מובנות שעוזרות לכם לבצע אופטימיזציה של השימוש במשאבים ולשלוט בעלויות. ריכזנו כאן כמה דוגמאות לתכונות שאפשר להשתמש בהן כדי לייעל את העלויות במוצרי Google Cloud :
- Compute Engine
- להוסיף או להסיר מכונות וירטואליות באופן אוטומטי בהתאם לעומס הנוכחי, באמצעות התאמה לעומס (autoscaling).
- כדי להימנע מהקצאת יתר, כדאי ליצור ולהשתמש בסוגי מכונות בהתאמה אישית שמתאימים לדרישות של עומס העבודה.
- בעומסי עבודה לא קריטיים או עומסי עבודה עמידים בכשלים, אפשר להוזיל עלויות באמצעות שימוש ב-VM במודל Spot.
- בסביבות פיתוח, אפשר להפחית את העלויות על ידי הגבלת זמן הריצה של המכונות הווירטואליות, או על ידי השהיה או עצירה של המכונות הווירטואליות כשלא צריך אותן.
- GKE
- כדי לשנות באופן אוטומטי את הגודל של אשכולות GKE בהתאם לעומס הנוכחי, משתמשים ב-Cluster Autoscaler.
- כדי ליצור ולנהל באופן אוטומטי מאגרי צמתים על סמך הדרישות של עומסי העבודה, ולוודא שהמשאבים מנוצלים בצורה אופטימלית, משתמשים בהקצאת צמתים אוטומטית (NAP).
- Cloud Storage
- להעביר באופן אוטומטי נתונים לסוגי אחסון זולים יותר על סמך גיל הנתונים או על סמך דפוסי גישה, באמצעות ניהול מחזור החיים של אובייקטים.
- להעביר נתונים באופן דינמי לסוג האחסון הכי משתלם בהתאם לדפוסי השימוש, באמצעות סיווג אוטומטי.
- BigQuery
- תמחור מבוסס-קיבולת מאפשר להפחית את עלויות עיבוד השאילתות של עומסי עבודה במצב יציב.
- לשפר את ביצועי השאילתות ולהוזיל את העלויות באמצעות שיטות של חלוקה למחיצות וקיבוץ לאשכולות.
- Google Cloud VMware Engine
- הפחתת העלויות של VMware באמצעות אסטרטגיות לאופטימיזציה של עלויות, כמו הנחות תמורת התחייבות לשימוש (CUD), אופטימיזציה של צריכת האחסון והתאמה של גודל אשכולות ESXi.
אופטימיזציה של שיתוף המשאבים
כדי למקסם את השימוש במשאבי הענן, אתם יכולים לפרוס כמה אפליקציות או שירותים באותה תשתית, ועדיין לעמוד בדרישות האבטחה ובדרישות אחרות של האפליקציות. לדוגמה, בסביבות פיתוח ובדיקה, אתם יכולים להשתמש באותה תשתית ענן כדי לבדוק את כל הרכיבים של האפליקציה. בסביבת הייצור, אתם יכולים לפרוס כל רכיב בקבוצה נפרדת של משאבים כדי להגביל את היקף ההשפעה במקרה של אירועים.
הנה כמה דוגמאות לאופן שבו אפשר ליישם את ההמלצה הזו:
- משתמשים במכונה אחת של Cloud SQL לכמה סביבות שהן לא סביבות ייצור.
- לאפשר לכמה צוותי פיתוח לשתף אשכול GKE באמצעות התכונה ניהול צוותים ב-Fleet ב-GKE עם אמצעי בקרת גישה מתאימים.
- כדי לנצל את היתרונות של שיטות לאופטימיזציה של עלויות, כמו סידור בקונטיינרים (bin packing) והתאמה אוטומטית לעומס (autoscaling) ש-GKE מיישם כברירת מחדל, השתמשו ב-GKE Autopilot.
- בעומסי עבודה של AI ו-ML, אפשר לחסוך בעלויות של GPU באמצעות אסטרטגיות לשיתוף GPU, כמו GPU עם כמה מופעים במקביל, GPU עם שיתוף זמן ו-NVIDIA MPS.
פיתוח ותחזוקה של ארכיטקטורות לדוגמה
ליצור ולתחזק מאגר של ארכיטקטורות לדוגמה שמותאמות לדרישות של סביבות פריסה וסוגים שונים של עומסי עבודה. כדי לייעל את תהליך התכנון וההטמעה של פרויקטים ספציפיים, אפשר לנהל את התוכניות באופן מרוכז על ידי צוות כמו מרכז המצוינות בענן (CCoE). צוותי הפרויקט יכולים לבחור תוכניות מתאימות על סמך קריטריונים מוגדרים בבירור, כדי להבטיח עקביות בארכיטקטורה ואימוץ של שיטות מומלצות. אם יש דרישות ייחודיות לפרויקט, צוות הפרויקט וצוות הארכיטקטורה המרכזי צריכים לשתף פעולה כדי לתכנן ארכיטקטורות עזר חדשות. אתם יכולים לשתף את הארכיטקטורות לדוגמה עם כל הארגון כדי לעודד שיתוף ידע ולהרחיב את מאגר הפתרונות הזמינים. הגישה הזו מבטיחה עקביות, מאיצה את הפיתוח, מפשטת את קבלת ההחלטות ומקדמת ניצול יעיל של המשאבים.
כדאי לעיין בארכיטקטורות לדוגמה ש-Google מספקת לתרחישים שונים ולטכנולוגיות שונות. הארכיטקטורות האלה כוללות שיטות מומלצות לבחירת משאבים, לקביעת הגודל, להגדרה ולפריסה. בעזרת ארכיטקטורות העזר האלה, תוכלו להאיץ את תהליך הפיתוח ולחסוך בעלויות כבר מההתחלה.
אכיפת משמעת עלויות באמצעות מדיניות הארגון
כדאי להשתמש במדיניות הארגון כדי להגביל את המיקומים והמוצרים שחברי הצוות יכולים להשתמש בהם ב- Google Cloud . כללי המדיניות האלה עוזרים לוודא שהצוותים משתמשים בפתרונות חסכוניים ומקצים משאבים במיקומים שתואמים ליעדי האופטימיזציה של העלויות.
הערכת תקציבים ריאליים והגדרת גבולות פיננסיים
לפתח תקציבים מפורטים לכל פרויקט, עומס עבודה וסביבת פריסה. חשוב לוודא שהתקציבים מכסים את כל ההיבטים של הפעולות בענן, כולל עלויות התשתית, רישיונות התוכנה, כוח האדם והצמיחה הצפויה. כדי למנוע הוצאות יתר ולוודא שההוצאות תואמות ליעדים הפיננסיים, הגדירו מגבלות הוצאות או ספי הוצאות ברורים לפרויקטים, לשירותים או למשאבים ספציפיים. עוקבים באופן קבוע אחרי ההוצאות בענן בהשוואה למגבלות האלה. אתם יכולים להשתמש בהתראות פרואקטיביות על מכסות כדי לזהות בשלב מוקדם חריגות פוטנציאליות בעלויות ולבצע פעולות לתיקון בזמן.
בנוסף להגדרת תקציבים, אתם יכולים להשתמש במכסות ובמגבלות כדי לאכוף משמעת עלויות ולמנוע עליות חדות ובלתי צפויות בהוצאות. אתם יכולים להגדיר מכסות ברמות שונות, כולל פרויקטים, שירותים ואפילו סוגי משאבים ספציפיים, כדי לשלוט בצורה מדויקת בצריכת המשאבים.
הנה כמה דוגמאות לאופן שבו אפשר ליישם את ההמלצה הזו:
- מכסות ברמת הפרויקט: הגדרת מגבלות הוצאות או מכסות משאבים ברמת הפרויקט כדי לקבוע גבולות פיננסיים כוללים ולשלוט בצריכת המשאבים בכל השירותים בפרויקט.
- מכסות ספציפיות לשירות: הגדרת מכסות לשירותים ספציפיים של Google Cloud, כמו Compute Engine או BigQuery, כדי להגביל את מספר המכונות, המעבדים או נפח האחסון שאפשר להקצות.
- מכסות ספציפיות לסוג המשאב: אפשר להגדיר מכסות לסוגי משאבים ספציפיים, כמו מכונות וירטואליות של Compute Engine, קטגוריות של Cloud Storage, מכונות של Cloud Run או צמתים של GKE, כדי להגביל את השימוש בהם ולמנוע חריגות בלתי צפויות בעלויות.
- התראות על הגעה למכסה: קבלת התראות כשניצול המכסה (ברמת הפרויקט) מגיע לאחוז מסוים מהערך המקסימלי.
כדי ליצור גישה יזומה ורב-שכבתית לבקרת עלויות, אתם יכולים להשתמש במכסות ובמגבלות בשילוב עם תקציב ומעקב. הגישה הזו עוזרת לוודא שההוצאות בענן נשארות בגבולות שהוגדרו ותואמות ליעדים העסקיים. חשוב לזכור שאמצעי הבקרה על העלויות הם לא קבועים או נוקשים. כדי לוודא שאמצעי הבקרה על העלויות תואמים לסטנדרטים העדכניים בתחום ומשקפים את הצרכים המשתנים של העסק, חשוב לבדוק את אמצעי הבקרה באופן קבוע ולשנות אותם כך שיכללו טכנולוגיות חדשות ושיטות מומלצות.