שיטות מומלצות לאופטימיזציה של העלויות בשירותי Cloud Run

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

השיטות המומלצות שמפורטות במאמר הזה הן ספציפיות ל-Cloud Run. הן לא כוללות מוצרים אחרים של Google Cloud .

הגדרות של משאבים

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

בוחרים את האזור המתאים.

מיקום הפריסה של השירות משפיע על העלות הכוללת. ב-Cloud Run יש מודל תמחור אזורי בשתי רמות. באזורים ברמה 1, העלות לכל vCPU וזיכרון נמוכה יותר בהשוואה לאזורים ברמה 2, ולכן כדאי לפרוס באזור ברמה 1.

נדרש אימות

כשמגדירים שירות Cloud Run, אפשר לבחור אחת משתי אפשרויות האימות הבאות:

  • Allow public access: לא נדרשות בדיקות אימות.
  • ‫Require authentication: רק משתמשים מאומתים יכולים לגשת לשירות Cloud Run.

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

אם אתם מנהלים משתמשים באמצעות שרת proxy לאימות זהויות (IAP), יכול להיות של-IAP יהיו עלויות משויכות משלו.

השוואה בין חיוב לפי מכונות לבין חיוב לפי בקשות

לשירותי Cloud Run יש שתי הגדרות חיוב:

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

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

הגדרת התאמה לעומס ברמת השירות

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

אופטימיזציה של ניצול המעבד (CPU) וניצול הזיכרון

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

  1. הגדרת תצורה בסיסית.
  2. עוקבים אחרי המדדים בזמן בדיקת מדדי ניצול המעבד (CPU) וניצול הזיכרון ב-Cloud Monitoring.
  3. משנים את ההגדרות לפי הצורך.

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

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

הגדרת GPU

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

אופטימיזציה של עלויות הרשת

כשמגדירים את אפשרויות הרשת של השירות, חשוב להביא בחשבון את הדברים הבאים:

  • מיקום משותף של המשאבים: נסו לפרוס את שירותי Cloud Run באותו אזור שבו נמצאים מסדי הנתונים של הקצה העורפי (כמו Cloud SQL או Firestore) והקטגוריות של Cloud Storage. העברת נתונים בין משאבי Google Cloud באותו אזור היא בחינם.
  • מעבר ל-Direct VPC egress: אם אתם מנתבים באופן מאובטח תעבורת נתונים למשאבים פנימיים של רשת VPC, כדאי לשקול לעבור ל-Direct VPC egress ממחברים של Serverless VPC Access. תעבורת הנתונים היוצאת ב-Direct VPC מצטמצמת לאפס, וכך מבטלת את התקורה הבסיסית של המחשוב ואת העלויות של מצב חוסר פעילות שמשויכות למכונות של המחבר.
  • שימוש ב-Cloud CDN: כדי להוריד את העומס מנכסים סטטיים ומתוכן שניתן לשמור במטמון, אפשר להציב את Cloud CDN לפני שירותי Cloud Run. הצגת נתונים מהקצה זולה משמעותית מתשלום על תעבורת נתונים לאינטרנט ישירות מ-Cloud Run.
  • מעקב אחרי תעבורת נתונים לאינטרנט: תעבורת נתונים נכנסת (ingress) היא תמיד בחינם, ואתם מקבלים 1GiB של העברת נתונים יוצאת בחינם לאינטרנט בחודש בתוך צפון אמריקה. כדאי להתמקד במעקב אחרי תנועה יוצאת שחוצה את גבולות האזור או חורגת מהתוכנית בחינם.

קביעת הגדרות של פעולות בו-זמניות

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

הנחות תמורת התחייבות לשימוש

בהנחות תמורת התחייבות לשימוש (CUD), אתם מקבלים הנחה בתמורה להתחייבות להשתמש ב-Cloud Run באופן רציף בפרק זמן מסוים. ההנחות תמורת התחייבות לשימוש חלות ברמת החשבון לחיוב ב-Cloud. אתם יכולים לרכוש הנחות גמישות תמורת התחייבות לשימוש ב-Compute למשאבים של Cloud Run. הנחות CUD גמישות ב-Compute לא חלות על GPUs או על רשתות. פרטים נוספים זמינים במאמר הנחות גמישות תמורת התחייבות לשימוש ב-Compute.

כלים שימושיים

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

סקירה כללית על Cloud Run: חלונית החיוב

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

התראות לגבי תקציב

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

תקרות הוצאה בתקציב

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

אתם יכולים לעקוב אחרי ההתקדמות של תקרת ההוצאות ישירות מדף הסקירה הכללית במסוף Cloud Run. כשמגיעים לתקרת ההוצאות, Google Cloud משהה את כל עומסי העבודה ב-Cloud Run כדי למנוע עלויות נוספות במשאבים הבאים של Cloud Run:

  • שירותים: כל שירות קיים לא יצליח להעביר תנועה ויחזיר שגיאות 5xx.
  • משימות: הפעלות של משימות חדשות נכשלות, ומשימות שבתהליך לא מסתיימות.
  • מאגרי Worker: כל המכונות הקיימות מפסיקות לעבד משימות.
  • מכונות: כל המכונות הפועלות מושבתות, מכונות חדשות או הפעלות מחדש נכשלות, ובקשות לכתובות URL של מכונות מחזירות שגיאות 5xx.

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

חיוב ב-Cloud

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

הכלי לבדיקת עלויות

ב-Cost Explorer אתם יכולים לראות את העלות והניצול של המשאבים. אתם יכולים להשתמש בכלי לבדיקת עלויות כדי:

  • לסנן את המשאבים לפי עלות כדי לראות אילו משאבים הם היקרים ביותר.
  • להבין איזה חלק מהעלויות נובע מהגדרות אישיות כמו vCPU,‏ GPU, רשת ועוד.
  • מעקב אחרי ההשפעות של שינויים בהגדרות המשאבים על החיוב החודשי.

מחשבון העלויות שלGoogle Cloud

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

שירות המלצות

Recommender הוא כלי שמספק המלצות ותובנות לגבי השימוש במוצרים ב-Cloud.

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

אופטימיזציה של Cloud Hub

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