Сравнение версий Cloud Functions

Существует две версии Cloud Functions for Firebase:

  • Cloud Functions (второе поколение), которое развертывает ваши функции как сервисы на Cloud Run, позволяя запускать их с помощью Eventarc и Pub/Sub.
  • Cloud Functions (первое поколение) – исходная версия функций с ограниченным количеством триггеров событий и возможностей настройки.

Мы рекомендуем по возможности использовать для новых функций Cloud Functions (второе поколение). Однако мы планируем продолжить поддержку Cloud Functions (первого поколения).

На этой странице описаны функции, добавленные в Cloud Functions, и приведено сравнение двух версий продукта.

Cloud Functions (второе поколение)

Cloud Functions – это сервис функций как услуги нового поколения от Firebase. Cloud Functions (второе поколение) создан на основе Cloud Run и Eventarc. Он отличается улучшенной инфраструктурой и более широким охватом событий Cloud Functions, в том числе:

  • Основано на Cloud Run. Функции создаются с помощью Cloud Build и развертываются как сервисы Cloud Run с использованием среды выполнения Cloud Run по умолчанию. Это позволяет настраивать функцию так же, как и сервис Cloud Run. Чтобы узнать, как настроить сервис, например ограничить объем памяти или задать переменные среды, ознакомьтесь с документацией по Cloud Run.
  • Увеличенное время обработки запросов. Выполняйте рабочие нагрузки с более длительными запросами, например обрабатывайте большие потоки данных из Cloud Storage или BigQuery.
  • Более крупные экземпляры. Выполняйте более крупные рабочие нагрузки, требующие интенсивных вычислений, параллельной обработки и большого объема памяти.
  • Улучшенная параллельность. Обрабатывайте несколько одновременных запросов с помощью одного экземпляра функции, чтобы минимизировать холодные запуски и уменьшить задержку.
  • Управление трафиком. Распределяйте трафик между разными версиями функций или возвращайте функцию к предыдущей версии.
  • Интеграция с Eventarc. В Cloud Functions теперь поддерживаются триггеры Eventarc, а значит, и более 90 источников событий, которые поддерживает Eventarc.
  • Расширенная поддержка CloudEvents. Поддержка отраслевого стандарта CloudEvents во всех средах выполнения языков, обеспечивающая единообразный опыт для разработчиков.

Подробная информация приведена в таблице сравнения.

Поскольку Cloud Functions развертывает функции как сервисы на Cloud Run, Cloud Functions использует квоты и лимиты ресурсов совместно с Cloud Run. Подробнее о квотах…

Сравнительная таблица

Функция Cloud Functions (первое поколение) Cloud Functions
Реестр образов Container Registry или Artifact Registry Только Artifact Registry
Время ожидания запроса До 9 минут
  • До 60 минут для функций, запускаемых по HTTP-запросу
  • До девяти минут для функций, запускаемых событиями
Сервисный аккаунт* Сервисный аккаунт Google App Engine (PROJECT_ID@appspot.gserviceaccount.com) Сервисный аккаунт Google Cloud по умолчанию (PROJECT_NUMBER-compute@developer.gserviceaccount.com)
Размер экземпляра До 8 ГБ ОЗУ с 2 виртуальными ЦП До 16 ГБ ОЗУ с 4 виртуальными процессорами
Параллелизм 1 параллельный запрос на экземпляр функции До 1000 одновременных запросов на экземпляр функции

* Это сервисный аккаунт по умолчанию, который используется для доступа к API Firebase или Cloud из запущенной функции. Он используется Firebase Admin SDK, когда вы инициализируете без аргументов.

Цены

Информация о ценах приведена на странице Тарифные планы Firebase.

Чтобы посмотреть расходы, связанные с Cloud Functions, выполните следующие действия:

  1. Откройте страницу Cloud Billing Отчеты в консоли Google Cloud.
  2. Если потребуется, выберите платежный аккаунт, связанный с проектом Google Cloud.
  3. На панели Фильтры в разделе Ярлыки добавьте фильтр ярлыков с ключом goog-managed-by и значением cloudfunctions.

Ограничения

Cloud Functions for Firebase (второе поколение) не поддерживает события Analytics.

Однако функции первого и второго поколений могут существовать в одном исходном файле, поэтому вы можете разрабатывать и развертывать триггеры Analytics первого поколения вместе с функциями второго поколения.