Сравнение версий облачных функций

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

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

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

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

Cloud Functions (2-го поколения)

Cloud Functions — это предложение Firebase следующего поколения «Функции как услуга». Cloud Functions (2-го поколения), созданный на основе Cloud Run и Eventarc , обеспечивает улучшенную инфраструктуру и более широкий охват событий в Cloud Functions , включая:

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

Подробности смотрите в сравнительной таблице .

Поскольку Cloud Functions развертывает функции как сервисы в Cloud Run , Cloud Functions разделяет квоты и ограничения ресурсов с Cloud Run . См. Квоты .

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

Особенность Cloud Functions (1-го поколения) Cloud Functions
Реестр изображений Container Registry или Artifact Registry Только Artifact Registry
Запросить тайм-аут До 9 минут
  • До 60 минут для функций, запускаемых HTTP
  • До 9 минут для функций, запускаемых по событию
Размер экземпляра До 8 ГБ ОЗУ с 2 виртуальными процессорами До 16 ГБ ОЗУ с 4 виртуальными процессорами
Параллелизм 1 одновременный запрос на каждый экземпляр функции До 1000 одновременных запросов на экземпляр функции

Цены

Информацию о ценах см. в разделе «Ценовые планы Firebase» .

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

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

Ограничения

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

Хотя Cloud Functions for Firebase (2-го поколения) поддерживают события блокировки аутентификации, они не поддерживают тот же набор базовых событий Authentication , что и 1-е поколение.

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