Porównanie wersji Cloud Functions

Istnieją 2 wersje obiektu Cloud Functions for Firebase:

  • Cloud Functions (2 generacji), która wdraża Twoje funkcje jako usługi w Cloud Run, umożliwiając ich wywoływanie za pomocą funkcji Eventarc i Pub/Sub.
  • Cloud Functions (1 generacji) – oryginalna wersja funkcji z ograniczonymi wyzwalaczami zdarzeń i możliwością konfiguracji.

Zalecamy, aby w miarę możliwości wybrać Cloud Functions (2 generacji) do obsługi nowych funkcji. Planujemy jednak kontynuować obsługę Cloud Functions (1 generacji).

Na tej stronie opisano funkcje wprowadzone w Cloud Functions oraz porównano obie wersje usługi.

Cloud Functions (2 generacji)

Cloud Functions to usługa nowej generacji Firebase Functions as a Service. Opracowane na platformach Cloud Run i Eventarc rozwiązanie Cloud Functions (2 generacji) zapewnia w Cloud Functions lepszą infrastrukturę i szersze zasięgi zdarzeń, w tym:

  • Tworzone na podstawie usługi Cloud Run: funkcje są tworzone za pomocą usługi Cloud Build i wdrażane jako usługi Cloud Run. Dzięki temu możesz dostosować funkcję tak samo jak usługę Cloud Run. W dokumentacji Cloud Run znajdziesz informacje o opcjach konfigurowania usługi, takich jak limity pamięci, zmienne środowiskowe itp.
  • Dłuższy czas przetwarzania żądań: wykonywanie zadań związanych z dłuższymi żądaniami, takich jak przetwarzanie dużych strumieni danych z Cloud Storage lub BigQuery.
  • Większe rozmiary instancji: możesz uruchamiać większe zbiory zadań w pamięci oraz zadania wymagające dużej mocy obliczeniowej i równoległego wykonywania zadań.
  • Ulepszony współbieżność: obsługa wielu żądań współbieżnych za pomocą jednej instancji funkcji, aby zminimalizować uruchomienia „na zimno” i skrócić czas oczekiwania.
  • Zarządzanie ruchem: możesz rozdzielić ruch między różne wersje funkcji lub przywrócić poprzednią wersję funkcji.
  • Integracja z usługą Eventarc: natywna obsługa reguł Eventarc, zapewniająca Cloud Functions obsługę wszystkich ponad 90 źródeł zdarzeń obsługiwanych przez Eventarc.
  • Większy zakres obsługi CloudEvents: obsługa CloudEvents zgodna ze standardami branżowymi we wszystkich językach, która zapewnia spójne środowisko programistyczne.

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

Ponieważ Cloud Functions wdraża funkcje jako usługi w Cloud Run, Cloud Functions udostępnia limity zasobów i ograniczenia Cloud Run. Zobacz artykuł 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
Rozmiar instancji Do 8 GB pamięci RAM z 2 vCPU Maksymalnie 16 GB pamięci RAM z 4 vCPU
Równoczesność 1 żądanie równoczesne na instancję funkcji Do 1000 równoczesnych żądań na instancję funkcji

Ceny

Informacje o cenach znajdziesz na stronie z cennikiem Firebase.

Jeśli korzystasz z Cloud Functions, możesz wyświetlić koszty powiązane tylko z Cloud Functions w następujący sposób:

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

Ograniczenia

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

Chociaż usługa Cloud Functions for Firebase (2 generacji) obsługuje zdarzenia blokowania uwierzytelniania, nie obsługuje ona tego samego zestawu podstawowych zdarzeń Authentication co usługa Authentication (1 generacji).

Ponieważ jednak funkcje 1 i 2 generacji mogą współistnieć w tym samym pliku źródłowym, nadal możesz tworzyć i wdrażać Analytics i podstawowe Authentication 1 generacji razem z funkcjami 2 generacji.