השוואת גרסאות של Cloud Functions

יש שתי גרסאות של Cloud Functions for Firebase:

  • ‫Cloud Functions (דור שני), שפורס את הפונקציות כשירותים ב-Cloud Run, ומאפשר להפעיל אותן באמצעות Eventarc ו-Pub/Sub.
  • ‫Cloud Functions (דור ראשון), הגרסה המקורית של פונקציות עם טריגרים מוגבלים לאירועים ואפשרויות הגדרה מוגבלות.

מומלץ לבחור ב-Cloud Functions (דור שני) לפונקציות חדשות, ככל האפשר. עם זאת, אנחנו מתכננים להמשיך לתמוך ב-Cloud Functions (דור ראשון).

בדף הזה מתוארות התכונות שהתווספו ל-Cloud Functions, ומוצגת השוואה בין שתי הגרסאות של המוצר.

‫Cloud Functions (דור שני)

‫Cloud Functions הוא הדור הבא של Functions-as-a-Service ב-Firebase. ‫Cloud Functions (דור שני) מבוסס על Cloud Run ו- Eventarc, וכולל תשתית משופרת וכיסוי אירועים רחב יותרCloud Functions, כולל:

  • מבוססות על Cloud Run: הפונקציות נוצרות באמצעות Cloud Build ונפרסות כשירותי Cloud Run באמצעות סביבת ההפעלה של Cloud Run כברירת מחדל. כך תוכלו להתאים אישית את הפונקציה כמו שירות Cloud Run. במסמכי התיעוד של Cloud Run מפורטות אפשרויות להגדרת השירות, כמו מגבלות זיכרון, משתני סביבה וכו'.
  • זמני עיבוד ארוכים יותר של בקשות: הרצת עומסי עבודה של בקשות ארוכות יותר, כמו עיבוד של זרמי נתונים גדולים מ-Cloud Storage או מ-BigQuery.
  • מכונות גדולות יותר: הרצת עומסי עבודה גדולים יותר בזיכרון, עומסי עבודה עתירי מחשוב ועומסי עבודה מקבילים.
  • בו-זמניות משופרת: טיפול בכמה בקשות מקבילות באמצעות מופע פונקציה יחיד, כדי לצמצם את ההפעלות במצב התחלתי (cold start) ולשפר את זמן האחזור.
  • ניהול תנועה: פיצול התנועה בין גרסאות שונות של פונקציות או החזרת פונקציה לגרסה קודמת.
  • שילוב עם Eventarc: תמיכה מובנית בטריגרים של Eventarc, שמאפשרת להשתמש ב-Cloud Functions בכל יותר מ-90 מקורות האירועים שנתמכים ב-Eventarc.
  • תמיכה רחבה יותר ב-CloudEvents: תמיכה ב-CloudEvents, שהוא תקן מקובל בתחום, בכל סביבות זמן הריצה של השפות, כדי לספק למפתחים חוויה עקבית.

פרטים נוספים זמינים בטבלת ההשוואה.

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

טבלת השוואה

תכונה ‫Cloud Functions (דור ראשון) Cloud Functions
מאגר תמונות Container Registry או Artifact Registry רק Artifact Registry
הזמן הקצוב לתפוגת הבקשה הסתיים עד 9 דקות
  • עד 60 דקות לפונקציות שמופעלות על ידי HTTP
  • עד 9 דקות לפונקציות שמופעלות על ידי אירועים
חשבון שירות* חשבון השירות של Google App Engine‏ (‎PROJECT_ID@appspot.gserviceaccount.com) חשבון השירות שמוגדר כברירת המחדל של Google Cloud Compute‏ (PROJECT_NUMBER-compute@developer.gserviceaccount.com)
גודל המכונה עד 8GB RAM עם 2 vCPU עד 16GiB RAM עם 4 vCPU
בו-זמניות (concurrency) בקשה מקבילה אחת לכל מופע של פונקציה עד 1,000 בקשות מקבילות לכל מופע של פונקציה

* זהו חשבון השירות שמוגדר כברירת מחדל ומשמש לגישה לממשקי Firebase API או Cloud API מפונקציה שפועלת. ה-SDK של Firebase לאדמינים משתמש בו כשמפעילים ללא ארגומנטים.

תמחור

למידע על מחירים, ראו תוכניות התמחור של Firebase.

כדי לראות את העלויות שקשורות ל-Cloud Functions:

  1. נכנסים לדף Cloud Billing Reports במסוף Google Cloud.
  2. אם מופיעה בקשה, בוחרים את החשבון לחיוב שמשויך לפרויקט בענן ב-Google Cloud.
  3. בחלונית Filters, בקטע Labels, מוסיפים מסנן תוויות עם המפתח goog-managed-by והערך cloudfunctions.

מגבלות

מכשיר Cloud Functions for Firebase (דור שני) לא תומך באירועי Analytics.

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