Предоставляйте динамический контент и размещайте микросервисы с помощью хостинга 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.