Porównanie wersji Cloud Functions

Dostępne są 2 wersje Cloud Functions for Firebase:

  • Cloud Functions (2 generacji), która wdraża funkcje jako usługi na platformie Cloud Run, umożliwiając wywoływanie ich za pomocą EventarcPub/Sub.
  • Cloud Functions (1 generacji), czyli pierwotna wersja funkcji z ograniczonymi wyzwalaczami zdarzeń i możliwościami konfiguracji.

W przypadku nowych funkcji zalecamy wybieranie w miarę możliwości Cloud Functions (2 generacji). Planujemy jednak nadal obsługiwać Cloud Functions (1 generacji).

Na tej stronie opisujemy funkcje wprowadzone w Cloud Functions i porównujemy obie wersje produktu.

Cloud Functions (2 generacji)

Cloud Functions to usługa Firebase nowej generacji Functions-as-a-Service. Usługa Cloud Functions (2 generacji) oparta na Cloud RunEventarc zapewnia ulepszoną infrastrukturę i szerszy zakres zdarzeń w Cloud Functions, w tym:

  • Oparte na Cloud Run: funkcje są tworzone za pomocą Cloud Build i wdrażane jako usługi Cloud Run przy użyciu domyślnego Cloud Runśrodowiska wykonawczego. Dzięki temu możesz dostosować funkcję tak jak Cloud Runusługę. Zapoznaj się z Cloud Rundokumentacją, aby poznać opcje konfigurowania usługi, takie jak limity pamięci, zmienne środowiskowe itp.
  • Dłuższy czas przetwarzania żądań: uruchamiaj zbiory zadań z dłuższymi żądaniami, np. przetwarzanie dużych strumieni danych z Cloud Storage lub BigQuery.
  • Większe rozmiary instancji: uruchamiaj większe zadania wymagające dużej ilości pamięci i mocy obliczeniowej oraz zadania równoległe.
  • Lepsza współbieżność: obsługa wielu równoczesnych żądań za pomocą jednej instancji funkcji, aby zminimalizować uruchomienia „na zimno” i skrócić czas oczekiwania.
  • Zarządzanie ruchem: dzielenie ruchu między różne wersje funkcji lub przywracanie funkcji do poprzedniej wersji.
  • Integracja z Eventarc: natywna obsługa aktywatorów Eventarc, która udostępnia w Cloud Functions ponad 90 źródeł zdarzeń obsługiwanych przez Eventarc.
  • Szersza obsługa CloudEvents: obsługa standardowych w branży CloudEvents we wszystkich środowiskach wykonawczych języków, co zapewnia spójne środowisko programistyczne.

Szczegółowe informacje znajdziesz w tabeli porównawczej.

Ponieważ Cloud Functions wdraża funkcje jako usługi na platformie Cloud Run,Cloud Functions udostępnia limity zasobów i ograniczenia platformie Cloud Run. Zobacz Limity.

Tabela porównawcza

Funkcja Cloud Functions (1 generacji) Cloud Functions
Rejestr obrazów Container Registry lub Artifact Registry Tylko Artifact Registry
Przekroczenie limitu czasu żądania Do 9 minut
  • Do 60 minut w przypadku funkcji wywoływanych przez HTTP
  • Do 9 minut w przypadku funkcji wywoływanych przez zdarzenia
Konto usługi* Konto usługi Google App Engine (PROJECT_ID@appspot.gserviceaccount.com) Domyślne konto usługi obliczeniowej Google Cloud (PROJECT_NUMBER-compute@developer.gserviceaccount.com)
Rozmiar instancji Do 8 GB pamięci RAM z 2 procesorami wirtualnymi Do 16 GiB pamięci RAM z 4 vCPU
Równoczesność 1 żądanie równoczesne na instancję funkcji Do 1000 równoczesnych żądań na instancję funkcji

* Jest to domyślne konto usługi używane do uzyskiwania dostępu do interfejsów API Firebase lub Cloud z uruchomionej funkcji. Jest on używany przez pakiet Firebase Admin SDK, gdy inicjujesz go bez argumentów.

Ceny

Informacje o cenach znajdziesz na stronie Abonamenty i ceny Firebase.

Koszty związane z Cloud Functions możesz sprawdzić w ten sposób:

  1. W konsoli Google Cloud otwórz Cloud Billingstronę Raporty.
  2. Jeśli pojawi się taka prośba, wybierz konto rozliczeniowe powiązane z Twoim projektem w chmurze Google Cloud.
  3. W panelu Filtry w sekcji Etykiety dodaj filtr etykiet z kluczem goog-managed-by i wartością cloudfunctions.

Ograniczenia

Cloud Functions for Firebase (2 generacji) nie obsługuje zdarzeń Analytics.

Funkcje 1 i 2 generacji mogą jednak współistnieć w tym samym pliku źródłowym, więc możesz nadal tworzyć i wdrażać wyzwalacze Analytics w funkcjach 1 generacji razem z funkcjami 2 generacji.