בין אם אתם רק מתחילים לפתח את האפליקציה שלכם או שיש לכם אפליקציה מלאה בייצור, חשוב שתבינו את העלויות שלכם ואיך להימנע מחשבונות מפתיעים.
אם עדיין לא עשיתם את זה, כדאי לעיין בתוכניות התמחור של Firebase כדי להבין איך החיוב ב-Firebase מתבצע.
בדף הזה מוסבר על היבטים חשובים של ניתוח רמות השימוש וההוצאות ומעקב אחריהן, כולל:
בדיקת הקוד
מומלץ לבדוק את הקוד לפני הפריסה בסביבת הייצור, מכמה סיבות. למשל, כדי לזהות שגיאות שעלולות לגרום לכם להפסדים כספיים משמעותיים. במהלך בניית התשתית של האפליקציה, מומלץ מאוד לבצע קודם בדיקה מקומית באמצעות Firebase Local Emulator Suite.
Local Emulator Suite מאפשר להריץ מופעים של Cloud Functions, Cloud Firestore, Realtime Database ועוד, באופן מקומי במחשב. השינוי הזה לא רק מקל עליכם לחזור במהירות על תהליך העבודה של פיתוח פונקציונליות חדשה – במיוחד Cloud Functions – אלא גם מבטיח שלא תצטרכו לשלם על שימוש ב-Firebase שנובע מבדיקות של שירותים בסביבת הייצור.
במהלך הבדיקה, כדאי לבדוק אם יש סיבות נפוצות לחריגה מהשימוש ומההוצאות הצפויים:
שוכחים להוסיף מגבלה לשאילתת מסד נתונים עם מיליוני תוצאות
שילובים של Cloud Functions שגורמים לעומסי עבודה מוגזמים של fan-out או אפילו לולאות אינסופיות
איך רואים את רמות השימוש וההוצאות
חשוב להכיר את דפוסי השימוש הרגילים באפליקציה ולוודא שאתם לא חורגים מספי השימוש שחשובים לכם.
הצגת נתוני השימוש במוצר ספציפי
בכרטיסייה 'שימוש' במסוף Firebase אפשר לראות את השימוש במוצרים ספציפיים.
בלוחות הבקרה האלה אפשר לראות טווחי תאריכים ספציפיים.
לוחות בקרה ברמת המוצר זמינים ל-Authentication ולכל מוצרי התשתית: Realtime Database, Cloud Firestore, Cloud Storage, Cloud Functions ו-Hosting.
צפייה בנתוני השימוש הכוללים בפרויקט
אפשר לראות את נתוני השימוש הכוללים בפרויקט ב
אתם יכולים לראות את השימוש החודשי שלכם ואת רמות השימוש ביחס למכסת השימוש ללא עלות שהוקצתה לכם.
לוחצים על מוצר כלשהו כדי לראות סיכום יומי של השימוש בו, ואיך הוא משתווה למכסת השימוש שהוקצתה ללא עלות.
חשוב לזכור שלכל מוצר יש מכסות שימוש שונות, ולכן גם ציר זמן שונה. לדוגמה:
השימוש ב-Cloud Firestore וב-Cloud Storage מחושב מדי יום.
השימוש ב-Cloud Functions מחושב מדי חודש.
הגדרת תקציבים
כדי להימנע מ"הפתעות" בחשבון, כדאי ליצור תקציבים ב-Google Cloud Billing, ואז להגדיר במיוחד התראות על תקציב ותקציב מקסימלי להוצאות.
תקציבים הם סכומים כספיים כלליים שאתם מתכננים להוציא בכל חודש.
התראות לגבי התקציב הן התראות באימייל שנשלחות לצוות אם ההוצאות בפרויקט חורגות מסף שהוגדר.
תקרות ההוצאה בתקציב גורמות להשהיית השירות הרלוונטי אם ההוצאות בפרויקט חורגות מהתקציב שהוגדר לשירות הזה. נכון לעכשיו, אפשר להגדיר מכסות הוצאות רק בשירותים נבחרים.
כשמשדרגים למינוי Blaze בתשלום לפי שימוש, מוצגת באופן אוטומטי הנחיה להגדיר התראת תקציב במסוף Firebase.
כברירת מחדל, Firebase ו-Google Cloud לא משביתים שירותים ושימוש על סמך התקציב והסף שהגדרתם, כי למרות שיכול להיות שיש באג באפליקציה שגורם לעלייה בחיובים, יכול להיות שפשוט יש לאפליקציה צמיחה חיובית לא צפויה. אתם לא רוצים שהאפליקציה תושבת באופן לא צפוי כשאתם הכי צריכים שהיא תפעל.
עם זאת, אם אתם משתמשים במוצר שתומך במגבלות הוצאה בתקציב, אתם יכולים להגדיר ידנית מגבלת הוצאה על סמך התקציב שלכם, ומערכת Cloud Billing תשהה את השירות הרלוונטי אם ההוצאות בפרויקט יחרגו מהתקציב שהוגדר לשירות הזה.
הגדרת תקציב והתראה בסיסית לגבי תקציב
בקטע הזה אנחנו מתארים תקציבים והתראות על תקציבים ברמה גבוהה, בהקשר של Firebase. מידע מפורט מופיע במאמר הגדרת התראות תקציב במסמכי התיעוד של Google Cloud.
כך מגדירים תקציב והתראה בסיסית לגבי תקציב:
מוודאים שיש לכם את הגישה המתאימה. כדי להגדיר תקציב או התראת תקציב, צריך להיות בעלים של חשבון Cloud Billing המשויך.
עוברים להגדרות התקציב:
נכנסים לפרויקט במסוף Firebase ועוברים לדף Usage and billing > Details & settings.
בקטע Budgets & Alerts, לוחצים על Create first budget. הפעולה הזו תוביל אתכם לדף Budgets & alerts במסוף Cloud.
שימו לב: אם כבר הגדרתם תקציב, הוא יופיע כאן במקום הקישור 'יצירת תקציב ראשון'.
כדי להגדיר תקציב והתראה על תקציב באימייל:
בוחרים תקציב קיים או יוצרים תקציב חדש.
נותנים לתקציב שם תיאורי.
מגדירים את ההיקף של התראת התקציב, כולל הפרויקטים והשירותים שעליהם רוצים שהתראת התקציב תחול. כשמתחילים להשתמש בהתראות תקציב, כדאי לבחור באפשרות כל השירותים.
מגדירים את הסכום > סוג התקציב באמצעות אחת מהאפשרויות הבאות:
סכום כסף קבוע – כדאי להשתמש בסוג הזה כשמתחילים או כשבודקים את האפליקציה
סכום ששווה להוצאות של הפרויקט בחודש הקודם – משתמשים בסוג הזה כשהאפליקציה מתפתחת בהתמדה ולא רוצים לעדכן את סכום התקציב בכל חודש
הגדרת התראות לגבי אחוז מהתקציב.
לצורך בדיקה ראשונית, כדאי לנסות כמה אחוזים, כמו 1%, 2%, 5% ו-50% מהערך בפועל.
באפליקציות לייצור, כדאי לנסות אחוזים מרכזיים, כמו 50% ו-100% מהערך Actual וגם 150% מהערך Forecasted.
מגדירים מי יקבל את האימיילים.
כברירת מחדל, כל מי שיש לו הרשאות מתאימות לחיוב מקבל את ההתראה באימייל (כברירת מחדל, אדמינים ומשתמשים בחשבון לחיוב בחשבון המשויך Cloud Billing).
אתם יכולים גם לשלוח אימיילים לאנשים אחרים בצוות. כדי לעשות את זה, צריך ליצור Cloud Monitoringסביבת עבודה ואז להוסיף ערוץ התראות מבוסס-אימייל לקטע Alerting בסביבת העבודה. מידע נוסף על ההגדרה הזו זמין במאמר בנושא הגדרה של התראות מתקדמות לגבי חיובים ושל לוגיקה מתקדמת.
אם הגדרתם התראה על אחוז נמוך מהתקציב (למשל 1%), תקבלו אימייל תוך כמה שעות או כמה ימים עם הודעה שהפרויקט הגיע לסף הזה.
הגדרת תקרת הוצאות בתקציב
נכון לעכשיו, אפשר להשתמש במגבלות הוצאה בתקציב במוצרים הבאים של Firebase:
Firebase AI Logic: מגדירים את תקרת ההוצאות אצל ספק Gemini API שבחרתם: Gemini Developer API או Agent Platform Gemini API (formerly Vertex AI).
Firebase App Hosting: הגדרת תקרת הוצאות בשירות הבסיסי Cloud Run.
Cloud Functions for Firebase: הגדרת מגבלת הוצאות בשירות הבסיסי Cloud Run functions.
Firebase Extensions: הגדרת מגבלת הוצאות בשירות הבסיסי Cloud Run functions.
מידע נוסף על ניהול תקרות הוצאות מופיע במסמכי התיעוד של Cloud Billing.
השלבים הבאים
אפשר להשתמש בהתראות תקציב כדי להשבית באופן פרוגרמטי את Cloud Billing בפרויקט.
במאמר הגדרה של התראות מתקדמות לגבי חיוב ושל לוגיקה מתקדמת מוסבר איך:
אפשר להשתמש ב-Cloud Monitoring כדי ליצור התראות מתוחכמות יותר לגבי חיוב ושימוש, כולל התראות מותאמות אישית ששולחות התראות לאמצעי תקשורת אחרים, כמו Slack.
יצירת לוגיקה נוספת לחיוב על סמך Google Cloud Pub/Sub.