Sự khác biệt giữa Chức năng đám mây và Chức năng Firebase là gì?


84

Chức năng đám mâyChức năng Firebase (hoặc "Chức năng đám mây cho Firebase") đều trông giống nhau. Vui lòng mô tả trường hợp sử dụng của từng loại.

Cả hai đều sử dụng các chức năng HTTP.

Trong các chức năng đám mây :

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

Và trong các Chức năng của Firebase :

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

Sự khác biệt giữa chúng là gì?


1
Thuật ngữ cho Firebase thực sự là Chức năng đám mây cho Firebase , gần như chỉ là Chức năng đám mây được tích hợp với Dịch vụ Firebase.
AL.

2
Vì vậy, không có sự khác biệt giữa cả hai?
Muhammad chhota

Muốn thêm một điểm đơn giản không trả lời chính xác câu hỏi của bạn. Bạn có thể viết mã bằng các ngôn ngữ khác nhau (NodeJS, Python. Heard Go sắp ra mắt) bằng Google Cloud Functions.
viggy28,

Câu trả lời:


157

Không có sản phẩm nào được gọi là Firebase Functions.

Có ba điều riêng biệt:

  1. Chức năng đám mây của Google , cho phép bạn chạy các đoạn mã trong cơ sở hạ tầng của Google để đáp ứng các sự kiện.
  2. Chức năng đám mây cho Firebase , kích hoạt Chức năng đám mây của Google dựa trên các sự kiện trong Firebase (chẳng hạn như cơ sở dữ liệu hoặc ghi tệp, tạo người dùng, v.v.)
  3. SDK Firebase cho Chức năng đám mây , bao gồm một thư viện (được gọi một cách khó hiểu firebase-functions) mà bạn sử dụng trong mã Chức năng của mình để truy cập dữ liệu Firebase (chẳng hạn như ảnh chụp nhanh dữ liệu được ghi vào cơ sở dữ liệu)

Vì vậy, Firebase cung cấp một lớp bao bọc (tương đối mỏng) xung quanh Google Cloud Functions, để giúp sản phẩm sau này dễ sử dụng hơn và tích hợp nó với Firebase. Theo nghĩa đó, nó tương tự như cách Firebase tích hợp Google Cloud Storage vào "Cloud Storage cho Firebase" (trước đây gọi là Firebase Storage).

Nếu bạn đang sử dụng Google Cloud Platform mà không có Firebase thì bạn nên sử dụng các Chức năng Google Cloud thuần túy . Nếu bạn đang sử dụng Firebase hoặc nếu bạn là nhà phát triển thiết bị di động quan tâm đến Chức năng đám mây, bạn nên sử dụng Chức năng đám mây cho Firebase .


1
FYI: Các công cụ Firebase cho phép nhà phát triển truy cập vào tất cả các sự kiện của Google Cloud. SDK "firebase-functions" và Firebase CLI làm việc cùng nhau để cho phép các nhà phát triển quản lý một tập hợp các chức năng bằng lệnh triển khai đơn giản - dễ dàng bắt đầu, trong khi bạn vẫn có toàn quyền truy cập vào Google Cloud Platform khi cần.
Ultrasaurus

Tuy nhiên, giá cả có khác nhau không? Việc sử dụng các chức năng của Google Cloud Platform bên ngoài bối cảnh Firebase cung cấp cho tôi 5 GB dữ liệu gửi đi miễn phí mỗi tháng. Việc gọi các chức năng GCP từ bên trong ngữ cảnh Firebase cấm truy cập vào các dịch vụ không phải của Google ở ​​cấp miễn phí. Quyền truy cập mạng bên ngoài được phép ở cấp độ $ 25 hoặc ở cấp độ Blaze (trả tiền khi bạn đi), nhưng ngay cả ở cấp độ Blaze, bạn bị tính phí 40 xu cho mỗi triệu lần gọi, nhưng thông qua GCP, 2 triệu lệnh gọi đầu tiên của bạn là miễn phí, và sau đó là 0,40 xu mỗi triệu.
mancini0

Chúng chạy trên cùng một cơ sở hạ tầng, vì vậy không thể có bất kỳ sự khác biệt nào về cách chúng thực thi. Trên gói Blaze, có cùng một hạn ngạch miễn phí. Từ trang định giá : "Trong gói Blaze, Chức năng đám mây cung cấp cấp miễn phí vĩnh viễn. 2.000.000 lệnh gọi đầu tiên, 400.000 GB-giây, 200.000 giây CPU và 5 GB lưu lượng truy cập Internet được cung cấp miễn phí mỗi tháng. Bạn đang chỉ bị tính phí khi sử dụng quá hạn phân bổ miễn phí này. "
Frank van Puffelen

Chức năng đám mây cho Firebase không hỗ trợ các chức năng được viết bằng python, tôi nói đúng không? Dựa trên câu "Bạn sẽ cần một môi trường Node.js chức năng ghi (...)"
JohnAndrews


5

Google Cloud Platform, GCP, có một bài viết giải quyết câu hỏi này, Google Cloud Functions và Firebase .

Google Cloud Functions và Firebase

Google Cloud Functions là giải pháp máy tính không máy chủ của Google để tạo các ứng dụng theo hướng sự kiện. Đây là sản phẩm hợp tác giữa nhóm Google Cloud Platform và nhóm Firebase.

Đối với các nhà phát triển Google Cloud Platform , Chức năng đám mây đóng vai trò như một lớp kết nối cho phép bạn kết nối logic giữa các dịch vụ của Google Cloud Platform (GCP) bằng cách lắng nghe và phản hồi các sự kiện.

Đối với các nhà phát triển Firebase , Chức năng đám mây cho Firebase cung cấp một cách để mở rộng hoạt động của Firebase và tích hợp các tính năng của Firebase thông qua việc bổ sung mã phía máy chủ.

Cả hai giải pháp đều cung cấp khả năng thực thi nhanh chóng và đáng tin cậy các chức năng trong môi trường được quản lý hoàn toàn, nơi bạn không cần phải lo lắng về việc quản lý bất kỳ máy chủ nào hoặc cung cấp bất kỳ cơ sở hạ tầng nào.

...

Chức năng đám mây cho Firebase được tối ưu hóa cho các nhà phát triển Firebase:

  • SDK Firebase để định cấu hình các chức năng của bạn thông qua mã
  • Tích hợp với Bảng điều khiển Firebase và Firebase CLI
  • Các trình kích hoạt tương tự như Chức năng đám mây của Google, cộng với Cơ sở dữ liệu thời gian thực Firebase, Xác thực Firebase và trình kích hoạt Firebase Analytics

3

Có một sự khác biệt bổ sung: Hàm Firebase chỉ có thể được triển khai bằng JS hoặc Node.JS, trong khi Hàm đám mây cũng cho phép sử dụng Python và Go.

Ngoài ra còn có một sự khác biệt nhỏ về cách định giá của chúng, nếu bạn đang sử dụng Spark Plan. Hãy xem phần này https://firebase.google.com/pricing so với https://cloud.google.com/functions/pricing nếu bạn đang sử dụng gói Blaze, giá cả giống nhau.

Tôi tình cờ sử dụng cả hai cho dự án Firebase của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.