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

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

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

Cloud Run : вы пишете и развертываете приложение, упакованное в образ контейнера. Затем, используя хостинг Firebase, вы можете направлять HTTPS-запросы для запуска вашего контейнерного приложения.

Случаи использования

Как вы можете использовать возможности бессерверных вычислений с хостингом Firebase?

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

    Например, вы можете указать шаблон URL-адреса (например /blog/<blog-post-id> ) на функцию, которая использует параметр идентификатора записи блога URL-адреса для динамического извлечения контента из вашей базы данных.

  • Создание API REST . Вы можете создать API микросервиса, используя функции.

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

  • Кэширование динамического контента . Вы можете настроить кеширование динамического контента в глобальной CDN.

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

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

Выбор бессерверного варианта

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

При использовании любого бессерверного варианта лучше всего разместить его вместе с серверами хостинга Firebase, развернув в одном из следующих регионов:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

В следующей таблице описаны некоторые основные рекомендации по использованию облачных функций для Firebase в сравнении с Cloud Run. Полный список квот, ограничений и метрик см. в подробной документации каждого продукта ( Cloud Functions for Firebase или Cloud Run ).

Рассмотрение Облачные функции для Firebase Облачный бег
Настраивать Интерфейс командной строки Firebase объединяет несколько задач в отдельные команды: от инициализации до сборки и развертывания. Контейнеры предлагают больше настраиваемых возможностей, поэтому задачи настройки, сборки и развертывания включают отдельные этапы.
Среда выполнения Требуется Node.js, но вы можете указать , какую версию Node.js использовать. При создании контейнера вы указываете среду выполнения.
Поддержка языка и фреймворков

JavaScript и TypeScript

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

Любой язык, поддерживаемый Dockerfiles, включая Go, Node.js, Python, Java и другие.

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

Таймаут запроса на хостинг 60 секунд (см. примечание ниже) 60 секунд (см. примечание ниже)
Параллелизм 1 запрос на экземпляр функции
(без параллелизма для каждого экземпляра)
До 1000 одновременных запросов на экземпляр контейнера
Биллинг Использование облачных функций

Бесплатная квота использования, но требуется учетная запись Cloud Billing . См. FAQ по Firebase .

Использование Cloud Run + хранилище реестра контейнеров

Бесплатная квота использования, но требуется учетная запись Cloud Billing.