Firebase Hosting משתלב עם אפשרויות מחשוב ללא שרת (serverless computing), כולל Cloud Functions for Firebase ו-Cloud Run. באמצעות Firebase Hosting עם האפשרויות האלה, אתם יכולים לארח מיקרו-שירותים על ידי הפניית בקשות HTTPS להפעלת הפונקציות והאפליקציות בקונטיינרים שלכם בסביבה מנוהלת ומאובטחת.
Cloud Functions for Firebase: אתם כותבים ומפעילים פונקציה, שהיא קוד בקצה העורפי שמגיב לטריגר ספציפי. לאחר מכן, באמצעות Firebase Hosting, אפשר להפנות בקשות HTTPS להפעלת הפונקציה.
Cloud Run: אתם כותבים ופורסים אפליקציה שארוזה בקובץ אימג' בקונטיינר. לאחר מכן, באמצעות Firebase Hosting, אפשר להפנות בקשות HTTPS להפעלה של האפליקציה שמופעלת בקונטיינר.
תרחישים לדוגמה
איך אפשר להשתמש באפשרויות של מחשוב ללא שרת (serverless computing) עם Firebase Hosting?
הצגת תוכן דינמי – בנוסף להצגת תוכן סטטי באתר Hosting, אפשר להציג תגובות שנוצרות באופן דינמי מפונקציה או מאפליקציה מבוססת-קונטיינר שמבצעת לוגיקה בצד השרת.
לדוגמה, אפשר להפנות תבנית של כתובת URL (כמו
/blog/<blog-post-id>
) לפונקציה שמשתמשת בפרמטר של מזהה הפוסט בבלוג בכתובת ה-URL כדי לאחזר תוכן באופן דינמי ממסד הנתונים.יצירת ממשקי REST API – אפשר ליצור API של מיקרו-שירות באמצעות פונקציות.
לדוגמה, פונקציות יכולות לטפל בפונקציונליות של הכניסה לאתר. בזמן שהאתר שלך מתארח בכתובת
/
, כל בקשה לכתובת/api
מופנית מחדש ל-API של המיקרו-שירות שלך. לדוגמה, אפשר לעיין בדוגמה הזו של קוד פתוח.שמירת תוכן דינמי במטמון – אפשר להגדיר שמירה במטמון של תוכן דינמי ב-CDN גלובלי.
לדוגמה, אם פונקציה יוצרת תוכן חדש רק מדי פעם, אפשר להאיץ את האפליקציה על ידי שמירת התוכן שנוצר במטמון למשך תקופה קצרה לפחות. יכול להיות שתוכלו גם להקטין את עלויות ההפעלה, כי התוכן מוגש מ-CDN ולא באמצעות פונקציה מופעלת או אפליקציה מבוססת קונטיינר.
ביצוע prerender לאפליקציות בדף יחיד – כדי לשפר את ה-SEO ולבצע אופטימיזציה לשיתוף ברשתות חברתיות שונות, אפשר ליצור תגי
meta
דינמיים. למידע נוסף, אפשר לצפות בסרטון הזה או לעיין בדוגמה הזו של קוד פתוח.
בחירת אפשרות ללא שרת
גם Cloud Functions for Firebase וגם Cloud Run משתלבים עם Firebase Hosting ומציעים סביבה מאובטחת ללא שרתים עם ניהול מלא ושינוי גודל אוטומטי, אבל אפשר להשתמש בשתי האפשרויות לתרחישי שימוש שונים ולרמת ההתאמה האישית הרצויה.
כשמשתמשים באחת מהאפשרויות של serverless, מומלץ למקם אותה יחד עם השרתים של Firebase Hosting על ידי פריסה באחד מהאזורים הבאים:
us-west1
us-central1
us-east1
europe-west1
asia-east1
בטבלה הבאה מפורטים כמה שיקולים בסיסיים לשימוש ב-Cloud Functions for Firebase לעומת Cloud Run. רשימה מלאה של המכסות, המגבלות והמדדים זמינה במסמכי התיעוד המפורטים של כל מוצר (Cloud Functions for Firebase או Cloud Run).
התעניינות ברכישה | Cloud Functions for Firebase | Cloud Run |
---|---|---|
הגדרה | ה-CLI של Firebase מאגד כמה משימות לפקודות יחידות, החל מהפעלה ראשונית ועד לבנייה ולפריסה. | קונטיינרים מציעים אפשרויות התאמה אישית נוספות, ולכן משימות ההגדרה, ה-build והפריסה כוללות שלבים נפרדים. |
סביבת זמן ריצה | נדרש Node.js, אבל אפשר לציין באיזו גרסה של Node.js להשתמש. | כשיוצרים את הקונטיינר, מציינים את סביבת זמן הריצה. |
תמיכה בשפות ובמסגרות | JavaScript ו-TypeScript יש תמיכה ב-frameworks לאינטרנט, כמו Express.js. |
כל שפה שקובצי Dockerfile תומכים בה, כולל Go, Node.js, Python, Java ועוד יש תמיכה במסגרות אינטרנט לכל שפה. |
פסק זמן לבקשת Hosting | 60 שניות (ראו הערה בהמשך) | 60 שניות (ראו הערה בהמשך) |
Concurrency | בקשה אחת לכל מופע של פונקציה (אין מקביליות לכל מופע) |
עד 1,000 בקשות מקבילות לכל מופע של קונטיינר |
חיוב | Cloud Functions שימוש
מכסת שימוש בחינם, אבל נדרש Cloud Billing חשבון. אפשר לעיין בשאלות הנפוצות על Firebase. |
Cloud Run usage +
Container Registry storage
מכסת שימוש בחינם, אבל נדרש Cloud Billing חשבון |