Хостинг 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. |