יש שתי גרסאות של 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 דקות |
|
גודל המכונה | עד 8GB RAM עם 2vCPU | עד 16GB RAM עם 4vCPU |
בו-זמניות | בקשה מקבילה אחת לכל מכונה של פונקציה | עד 1,000 בקשות בו-זמנית לכל מכונה של פונקציה |
תמחור
למידע על מחירים, ראו תוכניות התמחור של Firebase.
אם אתם משתמשים ב-Cloud Functions, תוכלו להציג את העלויות שמשויכות רק ל-Cloud Functions באופן הבא:
- נכנסים לדף Cloud Billing Reports במסוף Google Cloud.
- אם מופיעה בקשה, בוחרים את החשבון לחיוב שמשויך לפרויקט ב-Google Cloud.
- בחלונית Filters, בקטע Labels, מוסיפים מסנן תווית עם המפתח
goog-managed-by
והערךcloudfunctions
.
מגבלות
ב-Cloud Functions for Firebase (דור שני) אין תמיכה באירועי Analytics.
אמנם Cloud Functions for Firebase (דור שני) תומך באירועים של חסימה של אימות, אבל הוא לא תומך באותה קבוצה של אירועים בסיסיים של Authentication כמו דור ראשון.
עם זאת, מאחר שאפשר לשלב פונקציות מדור ראשון ודור שני באותו קובץ מקור, עדיין אפשר לפתח ולפרוס טריגרים Analytics וטריגרים Authentication בסיסיים מדור ראשון יחד עם פונקציות מדור שני.