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 להפעלת האפליקציה בקונטיינר.
תרחישים לדוגמה
איך משתמשים באפשרויות של מחשוב ללא שרת עם Firebase Hosting?
הצגת תוכן דינמי – בנוסף להצגת תוכן סטטי באתר Hosting, אפשר להציג תגובות שנוצרו באופן דינמי מפונקציה או מאפליקציה בקונטיינר שמבצעת לוגיקה בצד השרת.
לדוגמה, אפשר להפנות תבנית של כתובת URL (כמו
/blog/<blog-post-id>
) לפונקציה שמשתמשת בפרמטר של מזהה הפוסט בבלוג בכתובת ה-URL כדי לאחזר תוכן באופן דינמי מהמסד הנתונים.פיתוח ממשקי API ל-REST – אפשר ליצור API של מיקרו-שירותים באמצעות פונקציות.
לדוגמה, פונקציות יכולות לטפל בפונקציונליות של הכניסה לאתר. בזמן שהאתר מתארח ב-
/
, כל בקשה ל-/api
מנותבת ל-API של המיקרו-שירות. לדוגמה, תוכלו לעיין בדוגמה הזו בקוד פתוח.שמירה במטמון של תוכן דינמי – אפשר להגדיר שמירת מטמון של התוכן הדינמי ב-CDN גלובלי.
לדוגמה, אם פונקציה יוצרת תוכן חדש רק מדי פעם, תוכלו להאיץ את האפליקציה על ידי שמירת התוכן שנוצר במטמון לתקופה קצרה לפחות. בנוסף, תוכלו לצמצם את עלויות הביצוע כי התוכן מוגש מה-CDN ולא דרך פונקציה מופעלת או אפליקציה בקונטיינר.
עיבוד מראש של אפליקציות בדף יחיד – אתם יכולים ליצור תגים דינמיים מסוג
meta
כדי לשפר את ה-SEO ולבצע אופטימיזציה של השיתוף ברשתות חברתיות שונות. למידע נוסף, אפשר לצפות בסרטון הזה או לעיין בדוגמה הזו בקוד פתוח.
בחירת אפשרות ללא שרת
Cloud Functions for Firebase ו-Cloud Run משתלבים עם Firebase Hosting ומציעים סביבה מאובטחת ומנוהלת לחלוטין עם התאמה אוטומטית לעומס, אבל אפשר להשתמש בשתי האפשרויות בתרחישי שימוש שונים וברמות שונות של הגדרה מותאמת אישית.
כשמשתמשים באחת מהאפשרויות ללא שרת, מומלץ למקם אותה ליד השרתים של 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 יש תמיכה במסגרות אינטרנט, כמו Express.js. |
כל שפה שתומכת ב-Dockerfiles, כולל Go, Node.js, Python, Java ועוד יש תמיכה במסגרות אינטרנט לכל שפה. |
הזמן הקצוב לתפוגה של בקשה Hosting | 60 שניות (ראו הערה בהמשך) | 60 שניות (ראו הערה בהמשך) |
ביצוע בו-זמנית | בקשה אחת לכל מכונה של פונקציה (אין בו-זמניות לכל מכונה) |
עד 1,000 בקשות בו-זמנית לכל מכונה בקונטיינר |
חיוב | שימוש ב-Cloud Functions
מכסה לשימוש בחינם, אבל נדרש חשבון Cloud Billing. אפשר לעיין בשאלות הנפוצות בנושא Firebase. |
שימוש ב-Cloud Run +
אחסון ב-Container Registry
מכסה לשימוש בחינם, אבל נדרש חשבון Cloud Billing |