Предоставляйте динамический контент и размещайте микросервисы с помощью хостинга Firebase.
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Firebase Hosting интегрируется с функциями бессерверных вычислений, включая 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-адреса для динамического извлечения контента из вашей базы данных.
Создавайте REST API . Вы можете создать API микросервисов с помощью функций.
Например, функции могут управлять функцией входа на вашем сайте. Пока ваш сайт размещен в каталоге / , любой запрос к /api перенаправляется на API вашего микросервиса. Например, ознакомьтесь с этим примером с открытым исходным кодом .
Кэширование динамического контента . Вы можете настроить кэширование динамического контента на глобальной сети доставки контента (CDN).
Например, если функция генерирует новый контент лишь периодически, вы можете ускорить работу приложения, кэшируя сгенерированный контент хотя бы на короткий период времени. Кроме того, вы можете потенциально снизить затраты на выполнение, поскольку контент предоставляется через CDN, а не через триггерную функцию или контейнерное приложение.
Предварительно визуализируйте свои одностраничные приложения — вы можете улучшить SEO и оптимизировать обмен информацией в различных социальных сетях, создав динамические meta . Чтобы узнать больше, посмотрите это видео или ознакомьтесь с этим примером с открытым исходным кодом .
Выбор бессерверного варианта
Хотя и 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
Настраивать
Firebase CLI объединяет несколько задач в одну команду: от инициализации до сборки и развертывания.
Контейнеры предлагают больше возможностей настройки, поэтому задачи настройки, сборки и развертывания включают отдельные этапы.
Среда выполнения
Требуется 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)."]]