У чому різниця між хмарними функціями та функціями Firebase?


85

Хмарні функції та функції 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!");
});

Яка різниця між ними?


1
Термін для Firebase насправді є хмарними функціями для Firebase , що в основному є лише хмарними функціями, інтегрованими із службами Firebase.
АЛ.

2
Тож між ними немає різниці?
Мухаммед чхота

Хочу додати простий пункт, який точно не відповідає на ваше запитання. Ви можете кодувати різними мовами (NodeJS, Python. Heard Go скоро виходить) за допомогою Google Cloud Functions.
viggy28

Відповіді:


158

Немає продукту, який називається Firebase Functions.

Є три окремі речі:

  1. Google Cloud Functions , які дозволяють запускати фрагменти коду в інфраструктурі Google у відповідь на події.
  2. Хмарні функції для Firebase , яка запускає хмарні функції Google на основі подій у Firebase (наприклад, записів у базу даних або файлів, створення користувачів тощо)
  3. Firebase SDK для хмарних функцій , що включає бібліотеку (заплутано називається firebase-functions), яку ви використовуєте в коді функцій для доступу до даних Firebase (наприклад, знімок даних, записаних у базу даних)

Тож Firebase забезпечує (порівняно тонкий) обгортку навколо Google Cloud Functions, щоб зробити останній продукт простішим у використанні та інтегрувати його у Firebase. У цьому сенсі це схоже на те, як Firebase інтегрує Google Cloud Storage у «Хмарне сховище для Firebase» (раніше відоме як Firebase Storage).

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


1
FYI: Інструменти Firebase дозволяють розробникам отримувати доступ до всіх подій Google Cloud. SDK "Firebase-functions" і Firebase CLI працюють разом, щоб дозволити розробникам керувати набором функцій за допомогою простої команди розгортання - простий початок роботи, хоча ви все ще маєте повний доступ до Google Cloud Platform, коли вам це потрібно.
Ультрасавр

Однак ціна не відрізняється? Використання функцій Google Cloud Platform поза контекстом Firebase дає мені 5 ГБ вихідних даних щомісяця безкоштовно. Виклик функцій GCP з контексту Firebase забороняє доступ до служб, які не належать Google, на безкоштовному рівні. Доступ за межами мережі дозволений на рівні 25 доларів США або на рівні Blaze (платіть по ходу), але навіть на рівні Blaze з вас стягується 40 центів за мільйон викликів, але через GCP ваші перші 2 мільйони викликів є безкоштовними, а потім - 0,40 цента на мільйон.
mancini0

Вони працюють на одній і тій же інфраструктурі, тому різниці в тому, як вони виконуються, не може бути. На плані Blaze існує така ж безкоштовна квота. На сторінці ціноутворення : "На плані Blaze Cloud Functions надає вічний безкоштовний рівень. Перші 2 000 000 викликів, 400 000 ГБ-с, 200 000 ЦП-с та 5 ГБ трафіку, що виходить з Інтернету, надаються безкоштовно щомісяця. Ви стягується лише за використання після цього безкоштовного наділу ".
Франк ван Пуффелен,

Хмарні функції для Firebase не підтримують функції, які будуть записані на python, я прав? На основі речення "Вам знадобиться середовище Node.js для написання функцій (...)"
JohnAndrews


5

Google Cloud Platform, GCP, має статтю, присвячену цьому питанню, Google Cloud Functions та Firebase .

Google Cloud Functions і Firebase

Google Cloud Functions - це безсерверне обчислювальне рішення 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 Cloud Functions, плюс триггери Firebase Database у реальному часі, автентифікація Firebase та Firebase Analytics

3

Є ще одна різниця: функції Firebase можуть бути реалізовані лише в JS або Node.JS, тоді як хмарні функції також дозволяють використовувати Python і Go.

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

Я випадково використовую обидва для свого проекту Firebase.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.