הבנת עלויות של אירוח אפליקציות

כדי להשתמש ב-App Hosting, צריך פרויקט בתוכנית התמחור Blaze בתשלום לפי שימוש. בתוכנית התמחור הזו, לפרויקט יש את המגבלות הבאות ללא עלות למוצרי Google Cloud שמופעלים על ידי App Hosting:

מוצר תכונה ללא עלות חיוב
(על שימוש מעבר למגבלות ללא עלות)
App Hosting רוחב הפס לנתונים יוצאים ‫10GiB לחודש

‫$0.15 לכל GiB במטמון

‫0.20$ ל-GiB שלא נשמר במטמון

Artifact Registry אחסון ‫0.5GB לחודש ‫0.10$ ל-GB לחודש, מעל 0.5GB
תעבורת נתונים יוצאת (egress) ללא תשלום לרשימה המלאה של מחירי תעבורת הנתונים היוצאת, ראו את המחירון של Artifact Registry
Cloud Run CPU ‫180,000 שניות של vCPU ‫0.00002400$ לשניית vCPU
זיכרון ‫360,000‎ GiB-seconds ‫0.00000250$‎ לכל GiB לשנייה
Requests ‫2 מיליון בקשות ‫0.40$ למיליון בקשות
Cloud Build דקות בנייה ‫2,500 דקות build ‫$0.006 לדקת build
Cloud Logging אחסון של רישום ביומן ‫50GiB לפרויקט לחודש $0.50/GiB
שמירת יומנים ללא עלות למשך 30 ימים ‫0.01$ ל-GiB לחודש ליומנים שנשמרים יותר מ-30 ימים
Secret Manager גרסאות פעילות של סודות ‫6 גרסאות בחודש ‫0.06$ לגרסה לכל מיקום
פעולות גישה ‫10,000 פעולות בחודש ‫0.03$ לכל 10,000 פעולות
התראות על רוטציה ‫3 רוטציות בחודש ‫0.05$ לכל סיבוב
‏Cloud Storage1 Standard Storage2 ‫5GB לחודש ‫0.020$‎ לכל GB לחודש
פעולות מקטגוריה Class A‏2 5,000 ‫0.0050$ לכל 1,000 פעולות
פעולות מסוג Class B‏2 50,000 ‫0.0004$ לכל 1,000 פעולות
העברת נתונים2 ‫100GB מצפון אמריקה לכל יעד של העברת נתונים ב-Google Cloud (לא כולל אוסטרליה וסין)

‫0.02$‎ לכל GB בצפון אמריקה

‫0.02$ ל-GB באירופה

‫0.08$ לכל GB באסיה

השדה 1Cloud Storage משמש רק כשפורסים ממקור מקומי באמצעות ה-CLI של Firebase או כשמעלים ארכיון דחוס במסוף Firebase.

‫2Cloud Storage המכסות של "תמיד בחינם" חלות על קצוות עורפיים של App Hosting ב-US-CENTRAL1 בלבד.

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

חישוב עלויות

בפרויקט Firebase App Hosting נצברות עלויות אחרי שחורגים מהמכסות ללא עלות של תוכנית התמחור Blaze בתשלום לפי שימוש. החיוב הוא על הפריטים הבאים ב-Firebase App Hosting:

  • רוחב פס לנתונים יוצאים שלא נשמרו במטמון מתייחס לנתונים שמועברים ישירות משרתי המקור של שירות Firebase App Hosting כדי למלא את בקשות המשתמשים. שרתי המקור ממוקמים בין שירות Cloud Run של קצה עורפי של App Hosting לבין Cloud CDN. זה קורה כשהתוכן המבוקש לא מאוחסן במטמון של Cloud CDN (כלומר, הוא לא נשמר במטמון). לכן, שרת המקור צריך לאחזר את הנתונים ולשלוח אותם למשתמש.

    התהליך הזה כרוך בעלויות משתי סיבות עיקריות:

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

במאמר שמירת תוכן של אפליקציות במטמון מוסבר איך לשפר את הביצועים באמצעות Cloud CDN.

בנוסף, תחויבו על השימוש במוצרי Google Cloud הבסיסיים שבהם משתמש הקצה העורפי:

  • Cloud Run
  • Cloud Build
  • Artifact Registry
  • Secret Manager
  • Cloud Logging
  • Cloud Storage

אפשר לראות את המחירים המדויקים של הפריטים האלה בדף התמחור.

דוגמאות לחיובים

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

גודל התנועה והתגובה

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

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

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

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

מאפייני התנועה
~בקשות שחויבו לכל ביקור בודד

10

גודל תגובה ממוצע (KiB)

400

זמן אחזור ממוצע של תגובה (באלפיות השנייה)

1000

שיעור המציאה במטמון (cache hit)

50%

ההגדרות של סביבת זמן הריצה

‫Cloud Run הגדרות1
מגבלת מעבד (vCPU) 1
מגבלת הזיכרון (MiB) 512
בו-זמניות (בקשות) 80
minInstances 0
maxInstances 100

‫1 אלה ערכי ברירת המחדל שסופקו על ידי App Hosting. כדי לבדוק את ההגדרות האישיות של Cloud Run בכל השקה, אפשר להציג את פרטי הגרסה של Cloud Run. בכרטיסייה Rollouts במסוף Firebase, מעבירים את העכבר מעל השקה ולוחצים על סמל האפשרויות הנוספות (3 נקודות), ואז על View Cloud Run revision.

הנחות אחרות

שימוש בפרויקט
שיטת הפריסה GitHub
מספר גרסאות build בחודש 20
דקות לכל גרסה 8
שמירת יומנים פחות מ-30 ימים
גרסאות של סודות פחות מ-6 גרסאות
גודל התמונה ב-Artifact Registry‏ (MB) 380

חשבון לדוגמה

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

SKU מחיר היחידה מסלול ללא עלות ‫10,000 ביקורים עלות של 10,000 ביקורים שימוש במיליון ביקורים עלות של מיליון ביקורים
Cloud Run – מעבד (CPU)

$0.00

vCPU second

180,000.00

1250

$0.00

125000

$0.00

Cloud Run – זיכרון

$0.00

‫GiB לשנייה

360,000.00

625

$0.00

62500

$0.00

‫Cloud Run – בקשות

$0.40

בקשות SSR במיליונים

2.00

0.05

$0.00

5

$1.20

‫Cloud Build – דקות build

$0.006

דקת build

2,500.00

160

$0.00

160

$0.00

‫Artifact Registry – אחסון

$‎0.10

‫GiB (מאוחסן)

0.50

0.6

$0.01

0.6

$0.01

‫App Hosting – רוחב הפס לנתונים יוצאים שלא נשמרו במטמון

$0.20

GiB

10

2

$0.00

200

$39.00

‫App Hosting – רוחב הפס לנתונים יוצאים שנשמרו במטמון

$‎0.15

GiB

2

$0.00

200

$29.25

‫Secrets Manager – גרסאות פעילות של סודות

$0.06

גרסאות

6.00

6.00

$0.00

6.00

$0.00

‫Secrets Manager – פעולות גישה

$0.03

‫10,000 פעולות

1.0

0.10

$0.00

5.00

$0.12

‫Secrets Manager – התראות על רוטציה

$‎0.05

סבבים

3.00

0.00

$0.00

0.00

$0.00

‫Cloud Logging – אחסון של רישום ביומן

0.50$

GiB

50.00

0.50

$0.00

50.00

$0.00

‫Cloud Logging – שמירת יומנים

$0.01

‫GiB לחודש ‫30 ימים

$0.00

$0.00

סה"כ

0.04 ש"ח

$69.58

חישובים

מק"ט יחידה איך מחשבים את השימוש
Cloud Run – מעבד (CPU) vCPU second vCPU seconds = vCPU per instance * average response latency per request * # of visits * billed requests per visit / # of concurrent requests
Cloud Run – זיכרון ‫GiB לשנייה שניות GiB‏ = GiB לכל מכונה * זמן אחזור ממוצע לתגובה לכל בקשה * מספר הביקורים * בקשות לחיוב לכל ביקור / מספר הבקשות המקבילות
‫Cloud Run – בקשות בקשות SSR במיליונים ‫M בקשות SSR‏ = (מספר הביקורים * בקשות לחיוב לכל ביקור / מיליון) * (1 - שיעור המציאה במטמון)
‫Cloud Build – דקות build דקת build דקות build = מספר ה-builds * דקות לכל build
‫Artifact Registry – אחסון 1 ‫GiB (מאוחסן) ‫GiB (מאוחסן) = 2 * גודל התמונה
‫App Hosting – רוחב פס ללא שמירה במטמון GiB ‫Uncached GiB= (1 - cache-hit rate) * (# of visits * billed requests per visit * רוחב הפס לנתונים יוצאים per request)
‫App Hosting – רוחב פס במטמון GiB ‫GiB במטמון = שיעור המציאה במטמון * (מספר הביקורים * בקשות לחיוב לכל ביקור * רוחב הפס לנתונים יוצאים לכל בקשה)

‫1 App Hosting מנקה באופן אוטומטי תמונות ישנות יותר ב-Artifact Registry, ושומר תמונות מגרסאות build מוצלחות ב-14 הימים האחרונים (ותמיד שומר לפחות את 5 גרסאות ה-build המוצלחות האחרונות, בנוסף לגרסת ה-build הפעילה). מדיניות ניקוי build