השוואת גרסאות של 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 (FaaS) מדור הבא של Firebase. Cloud Functions (דור שני) מבוסס על Cloud Run ו-Eventarc, ומספק תשתית משופרת ותמיכה רחבה יותר באירועים ב-Cloud Functions, כולל:

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

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

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

טבלת השוואה

תכונה Cloud Functions (דור ראשון) Cloud Functions
מאגר תמונות Container Registry או Artifact Registry רק בשעה Artifact Registry
זמן קצוב לתפוגה של בקשה עד 9 דקות
  • עד 60 דקות לפונקציות שמופעל בהן טריגר HTTP
  • עד 9 דקות לפונקציות שמופעל בהן טריגר אירוע
גודל המכונה עד 8GB RAM עם 2vCPU עד 16GB RAM עם 4vCPU
בו-זמניות בקשה מקבילה אחת לכל מכונה של פונקציה עד 1,000 בקשות בו-זמנית לכל מכונה של פונקציה

תמחור

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

אם אתם משתמשים ב-Cloud Functions, תוכלו להציג את העלויות שמשויכות רק ל-Cloud Functions באופן הבא:

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

מגבלות

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

אמנם Cloud Functions for Firebase (דור שני) תומך באירועים של חסימה של אימות, אבל הוא לא תומך באותה קבוצה של אירועים בסיסיים של Authentication כמו דור ראשון.

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