В чем разница между облачной функцией и функциями Firebase?

Облачные функции и функции Firebase выглядят одинаково.

Пожалуйста, опишите вариант использования каждого.

Оба используют функции HTTP.

В облачной функции

exports.helloHttp = function helloHttp (req, res) {
  res.send(`Hello ${req.body.name || 'World'}!`);
};

и в функции Firebase

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

В чем разница между этими?

4 ответа

Решение

Нет продукта под названием Firebase Functions.

Есть три отдельные вещи:

  1. Облачные функции Google, которые позволяют запускать фрагменты кода JavaScript в инфраструктуре Google в ответ на события
  2. Облачные функции для Firebase, которые запускают облачные функции Google на основе событий в Firebase (таких как запись в базу данных или файл, создание пользователя и т. Д.)
  3. Firebase SDK для облачных функций, который включает в себя библиотеку (смешно называется firebase-functions), который вы используете в своем коде функций для доступа к данным Firebase (например, снимок данных, которые были записаны в базу данных)

Таким образом, Firebase предоставляет (относительно тонкую) оболочку для Google Cloud Functions, чтобы упростить использование последнего продукта и интегрировать его с Firebase. В этом смысле это похоже на то, как Firebase интегрирует Google Cloud Storage в "Cloud Storage for Firebase" (ранее известный как Firebase Storage).

Если вы используете Google Cloud Platform без Firebase, вам следует использовать простые функции Google Cloud. Если вы работаете в Firebase или являетесь разработчиком мобильных приложений, интересующимся облачными функциями, вам следует использовать облачные функции для Firebase.

Есть дополнительная разница: функции Firebase могут быть реализованы только на JS или Node.JS, в то время как облачные функции также позволяют использовать Python и Go.

Существует также небольшая разница в том, как они оцениваются, если вы используете план Spark. Посмотрите https://firebase.google.com/pricing и https://cloud.google.com/functions/pricing, если вы используете план Blaze, цены такие же.

Я использую оба в своем проекте Firebase.

В Google Cloud Platform, GCP, есть статья, посвященная этому вопросу, Google Cloud Functions и Firebase.

Облачные функции Google и Firebase

Облачные функции Google - это безсерверное вычислительное решение Google для создания приложений, управляемых событиями. Это совместный продукт между командой Google Cloud Platform и командой Firebase.

Для разработчиков Google Cloud Platform облачные функции служат связующим слоем, позволяющим вам переплетать логику между сервисами Google Cloud Platform (GCP), прослушивая и реагируя на события.

Для разработчиков Firebase облачные функции для Firebase предоставляют способ расширить поведение Firebase и интегрировать функции Firebase посредством добавления кода на стороне сервера.

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

...

Облачные функции для Firebase оптимизированы для разработчиков Firebase:

  • Firebase SDK для настройки ваших функций через код
  • Интегрирован с Firebase Console и Firebase CLI
  • Те же триггеры, что и в облачных функциях Google, плюс база данных Firebase Realtime, аутентификация Firebase и триггеры Firebase Analytics

Официальное видео Google с описанием разницы: GCP и Firebase - Функции и Firestore

  1. Firebase предложит вам обернуть ваши функции в вызываемые функции, которые можно вызывать через firebase SDK.
  2. языковая поддержка, GCP также поддерживает Go, Python и java
  3. GCP может быть развернут как через консоль, так и через интерфейс командной строки, но firebase работает только через интерфейс командной строки.
Другие вопросы по тегам