Предоставляйте динамический контент и размещайте микросервисы с помощью хостинга Firebase.

Firebase Hosting интегрируется с бессерверными вычислительными решениями, включая Cloud Functions for Firebase и Cloud Run . Используя Firebase Hosting с этими решениями, вы можете размещать микросервисы, направляя HTTPS-запросы для запуска ваших функций, и контейнеризированные приложения для работы в управляемой, безопасной среде.

Cloud Functions for Firebase : вы пишете и развертываете функцию, которая представляет собой бэкэнд-код, реагирующий на определенный триггер. Затем, используя Firebase Hosting , вы можете направлять HTTPS-запросы для запуска вашей функции.

Cloud Run : You write and deploy an application packaged in a container image. Then, using Firebase Hosting , you can direct HTTPS requests to trigger your containerized app to run.

Варианты использования

How can you use serverless computing options with Firebase Hosting ?

  • Предоставляйте динамический контент — помимо предоставления статического контента на вашем Hosting , вы можете предоставлять динамически генерируемые ответы от функции или контейнеризированного приложения, выполняющего логику на стороне сервера.

    For example, you can point a URL pattern (like /blog/<blog-post-id> ) to a function that uses the URL's blog post ID parameter to retrieve content dynamically from your database.

  • Build REST APIs — You can create a microservice API using functions.

    Например, функции могут обрабатывать функциональность авторизации на вашем веб-сайте. Хотя ваш веб-сайт размещен по адресу / , любой запрос к /api перенаправляется на ваш микросервисный API. В качестве примера ознакомьтесь с этим открытым исходным кодом .

  • Cache dynamic content — You can configure caching of your dynamic content on a global CDN.

    Например, если функция генерирует новый контент только периодически, вы можете ускорить работу приложения, кэшируя сгенерированный контент хотя бы на короткий период времени. Вы также можете потенциально снизить затраты на выполнение, поскольку контент предоставляется из CDN, а не через запускаемую функцию или контейнеризированное приложение.

  • Предварительная отрисовка одностраничных приложений — вы можете улучшить SEO и оптимизировать распространение в различных социальных сетях, создавая динамические meta . Чтобы узнать больше, посмотрите это видео или ознакомьтесь с этим примером с открытым исходным кодом .

Выбор бессерверного решения

Хотя Cloud Functions for Firebase и Cloud Run интегрируются с Firebase Hosting и предлагают полностью управляемую, автоматически масштабируемую и безопасную бессерверную среду, оба варианта могут использоваться для разных сценариев применения и с разным уровнем индивидуальной настройки.

When using either serverless option, it is best to co-locate it with the servers for Firebase Hosting by deploying in one of the following regions:

  • 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
Настраивать 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.
Среда выполнения Requires Node.js, but you can specify which version of Node.js to use. When building your container , you specify the runtime environment.
Поддержка языков и фреймворков

JavaScript и TypeScript

Поддерживаются веб-фреймворки, такие как Express.js.

Any language that Dockerfiles support, including Go, Node.js, Python, Java, and others

Поддерживаются веб-фреймворки для каждого языка программирования.

Истекло время ожидания для запроса Hosting . 60 секунд (см. примечание ниже) 60 секунд (см. примечание ниже)
Параллелизм 1 запрос на каждый экземпляр функции
(без параллельного выполнения для каждого экземпляра)
Up to 1,000 concurrent requests per container instance
Выставление счетов Использование Cloud Functions

Free usage quota, but a Cloud Billing account is required. See the Firebase FAQ .

Использование Cloud Run + хранилище Container Registry

Free usage quota, but a Cloud Billing account is required