הצגת תוכן דינמי ואירוח מיקרו-שירותים (microservices) באמצעות אירוח ב-Firebase
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
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 להשתמש.
[null,null,["עדכון אחרון: 2025-08-08 (שעון UTC)."],[],[],null,["\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nFirebase Hosting integrates with serverless computing options, including\nCloud Functions for Firebase and Cloud Run. Using Firebase Hosting with\nthese options, you can host microservices by directing HTTPS requests to trigger\nyour functions and containerized apps to run in a managed, secure environment.\n\n[**Cloud Functions for Firebase**](/docs/hosting/functions): You write and deploy a\nfunction, which is backend code that responds to a specific trigger. Then, using\nFirebase Hosting, you can direct HTTPS requests to trigger your function\nto run.\n\n[**Cloud Run**](/docs/hosting/cloud-run): You write and deploy an\napplication packaged in a container image. Then, using Firebase Hosting, you\ncan direct HTTPS requests to trigger your containerized app to run.\n| **Note:** If you're using Angular or Next.js to develop a full-stack Web app with server-side rendering or AI features, try out the preview of [App Hosting](/docs/app-hosting). App Hosting is a unified product for managing static and dynamic content together.\n\nUse cases\n\nHow can you use serverless computing options with Firebase Hosting?\n\n- **Serve dynamic content** --- In addition to serving static content on\n your Hosting site, you can serve dynamically generated responses from a\n function or containerized app that is performing server-side logic.\n\n For example, you can point a URL pattern (like `/blog/\u003cblog-post-id\u003e`) to a\n function that uses the URL's blog post ID parameter to retrieve content\n dynamically from your database.\n- **Build REST APIs** --- You can create a microservice API using functions.\n\n For instance, functions can handle the sign-in functionality for your\n website. While your website is hosted at `/`, any request to `/api` is\n redirected to your microservice API. For an example, check out\n [this open-source sample](//github.com/firebase/functions-samples/tree/Node-8/authenticated-json-api).\n- **Cache dynamic content** --- You can\n [configure caching](/docs/hosting/manage-cache) of your dynamic content on\n a global CDN.\n\n For example, if a function generates new content only periodically, you\n can speed up your app by caching the generated content for at least a short\n period of time. You can also potentially reduce execution costs because the\n content is served from the CDN rather than via a triggered function or\n containerized app.\n- **Prerender your single-page apps** --- You can improve SEO and optimize\n sharing across various social networks by creating dynamic `meta` tags. To\n learn more, watch this [video](//www.youtube.com/watch?v=82tZAPMHfT4)\n or check out\n [this open-source sample](//github.com/firebase/functions-samples/tree/Node-8/isomorphic-react-app).\n\nChoosing a serverless option\n\nWhile both [**Cloud Functions for Firebase**](/docs/hosting/functions) and\n[**Cloud Run**](/docs/hosting/cloud-run) integrate with\nFirebase Hosting and offer a fully managed, autoscaling, and secure\nserverless environment, the two options can be leveraged for different use cases\nand desired level of customized configuration.\n\nWhen using either serverless option, it is best to co-locate it with the servers\nfor Firebase Hosting by deploying in one of the following regions:\n\n- `us-west1`\n- `us-central1`\n- `us-east1`\n- `europe-west1`\n- `asia-east1`\n\nThe following table describes some basic considerations for using\nCloud Functions for Firebase versus Cloud Run. For a full listing of\nquotas, limits, and metrics, refer to each product's detailed documentation\n([Cloud Functions for Firebase](/docs/functions/quotas) or\n[Cloud Run](//cloud.google.com/run/quotas)).\n\n| **Consideration** | **Cloud Functions for Firebase** | **Cloud Run** |\n|-------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Setup** | The Firebase CLI bundles multiple tasks into single commands, from initializing to building and deploying. | Containers offer more customizable options, so setup, build, and deployment tasks involve discrete steps. |\n| **Runtime environment** | Requires Node.js, but you can specify [which version](/docs/functions/manage-functions#set_runtime_options) of Node.js to use. | When [building your container](/docs/hosting/cloud-run#containerize), you specify the runtime environment. |\n| **Language and frameworks support** | JavaScript and TypeScript Web frameworks, like Express.js, are supported. | Any language that Dockerfiles support, including [Go, Node.js, Python, Java, and others](//cloud.google.com/run/docs/quickstarts/build-and-deploy#writing) Web frameworks for each language are supported. |\n| **Timeout for Hosting request** | 60 seconds (see Note below) | 60 seconds (see Note below) |\n| **Concurrency** | 1 request per function instance (no concurrency per instance) | Up to 1,000 concurrent requests per container instance |\n| **Billing** | [Cloud Functions usage](/pricing) Free usage quota, but a [Cloud Billing account](//cloud.google.com/billing/docs/how-to/manage-billing-account) is required. See the [Firebase FAQ](/support/faq#functions-pricing). | [Cloud Run usage](//cloud.google.com/run/pricing) + [Container Registry storage](//cloud.google.com/container-registry/) Free usage quota, but a [Cloud Billing account](//cloud.google.com/billing/docs/how-to/manage-billing-account) is required |\n| **Billing** | | If your Firebase project is on the Spark pricing plan, and you associate your Firebase project with a Cloud Billing account, then your Firebase project is automatically upgraded to the Blaze pricing plan. Review the [Firebase pricing page](/pricing) for a comparison of the Spark and Blaze plans. ||\n\n| **Note:** Even though Cloud Functions and Cloud Run have longer request timeouts, Firebase Hosting is subject to a 60-second request timeout. If your app requires more than 60 seconds to run, you'll receive an HTTPS status code `504` (request timeout)."]]