Cloud Run-Funktionen vergleichen

In diesem Leitfaden werden die neuesten und ursprünglichen Google Cloud Optionen zum Bereitstellen von Funktionen verglichen. Diese Seite richtet sich an Nutzer, die zuvor Funktionen mit der Cloud Functions API erstellt haben und zur Cloud Run Admin API migrieren. Auf dieser Seite werden wichtige Unterschiede in mehreren Bereichen beschrieben, z. B. Konzepte, Konfiguration, Bereitstellung sowie Trigger und Wiederholungen.

Vergleich

Es gibt zwei Versionen von Cloud Run Functions:

  • Cloud Run Functions, früher Cloud Functions (2. Generation), ist die neueste Version von Funktionen, die Sie als Dienst in Cloud Run bereitstellen können. Die Funktion kann auf HTTP(S)-Anfragen reagieren oder auf Ereignisse reagieren, die von Eventarc-basierten Triggern wie Pub/Sub übertragen werden.

  • Cloud Run Functions (1. Generation), früher Cloud Functions (1. Generation), die ursprüngliche Version von Funktionen mit eingeschränkten Ereignistriggern und Konfigurierbarkeit.

Wir empfehlen die Verwendung der aktuellen Version von Cloud Run-Funktionen, da Sie damit mehr Flexibilität und Kontrolle über die Funktionslaufzeit haben. Wenn Sie Funktionen direkt in Cloud Run bereitstellen, werden sie automatisch als Container erstellt und als Cloud Run-Dienst bereitgestellt.

Konzepte

In der folgenden Tabelle sind die konzeptionellen Unterschiede zwischen Funktionen zusammengefasst.

Cloud Run-Funktionen Cloud Run-Funktionen (1. Generation)
Früherer Produktname Cloud Functions (2nd gen) Cloud Functions (1. Generation)
Ressourcenmodell Eine Funktion ist ein Cloud Run-Dienst, der aus dem Quellcode bereitgestellt wird. Eine Funktion wird aus dem Quellcode bereitgestellt.
Terminologie zu Funktionstypen
  • HTTP-Funktionen
  • CloudEvents-Funktionen, auch ereignisgesteuerte Funktionen genannt, werden in allen Sprachlaufzeiten unterstützt.
  • HTTP-Funktionen
  • CloudEvents werden nur von Ruby-, .NET- und PHP-Laufzeiten unterstützt. Für Node.js, Go, Python und Java können Sie ereignisgesteuerte Funktionen mithilfe von Hintergrundfunktionen erstellen.
Zugewiesene HTTPS-URL run.app

Funktionen, die mit der Cloud Functions API (Version 2) erstellt wurden, haben auch einen cloudfunctions.net-Endpunkt.
cloudfunctions.net
Image-Registry Nur Artifact Registry Artifact Registry oder Container Registry (verworfen)
IAM-Rollen für die Bereitstellung
Interne Infrastruktur Cloud Run Google-intern
Preismodell Cloud Run-Preise Preise für Cloud Run-Funktionen (1. Generation)

Konfiguration

In Cloud Run werden Funktionen in Containern erstellt und als Dienste bereitgestellt. Wenn Sie eine Funktion in Cloud Run bereitstellen, haben Sie vollständigen Zugriff und Kontrolle über das Verhalten der Funktion. Sie können beispielsweise Direct VPC aktivieren, GPUs konfigurieren und Volume-Bindungen verwenden.

In der folgenden Tabelle sind die Konfigurationsunterschiede für Funktionen zusammengefasst:

Cloud Run-Funktionen Cloud Run-Funktionen (1. Generation)
Zeitüberschreitung bei Anfrage
  • Bis zu 60 Minuten bei durch HTTP ausgelösten Funktionen
  • Bis zu neun Minuten für CloudEvents-Funktionen, die mit der Cloud Functions API (Version 2) erstellt wurden
  • Bis zu neun Minuten
Instanzgröße Bis zu 16 GiB RAM mit 4 vCPUs Bis zu 8 GB RAM mit 2 vCPUs
Gleichzeitigkeit Bis zu 1.000 gleichzeitige Anfragen pro Funktionsinstanz 1 gleichzeitige Anfrage pro Funktionsinstanz
Traffic-Aufteilung Unterstützt Nicht unterstützt

Bereitstellung

Seit August 2024 können Sie mit Cloud Run Funktionen bereitstellen und verwalten, die mit der Cloud Functions API (Version 2) erstellt wurden. Aufgrund dieser Änderung gilt Folgendes:

  • Funktionsmetadaten wie die Laufzeit-ID und Build-Konfigurationen werden in der Cloud Run-Dienstdefinition gespeichert.
  • Sie können Ihre Funktion mit der Cloud Run Admin API sicher bearbeiten.
  • Sie können die Cloud Run-Dienstdefinition als vertrauenswürdige Quelle für Ihre Funktion verwenden.

Funktionen, die mit der Cloud Run Admin API erstellt wurden, können jedoch nicht mit der Cloud Functions API geändert werden.

In der folgenden Tabelle sind die Unterschiede beim Erstellen, Bereitstellen, Bearbeiten und Verwalten von Funktionen zusammengefasst:

Cloud Run-Funktionen Cloud Run-Funktionen (1. Generation)
Google Cloud Console Cloud Run Cloud Run-Funktionen (1. Generation)
Cloud SDK
  • gcloud run deploy für Funktionen, die mit der Cloud Run Admin API oder der Cloud Functions API erstellt wurden.
  • gcloud functions deploy für Funktionen, die mit der Cloud Functions API erstellt wurden.
REST API
  • run.googleapis.com (Version 1 und 2) für Funktionen, die mit der Cloud Run Admin API oder der Cloud Functions API erstellt wurden.
Terraform

Trigger und Wiederholungsversuche

In der folgenden Tabelle werden Trigger und Wiederholungen für Funktionen verglichen:

Cloud Run-Funktionen Cloud Run-Funktionen (1. Generation)
Funktion auslösen und aufrufen Bei Funktionen, die mit der Cloud Run Admin API erstellt wurden, geben Sie die Trigger beim Bereitstellen der Funktion in der Google Cloud Console oder nach dem Bereitstellen der Funktion mit der gcloud CLI an.

Bei Funktionen, die mit der Cloud Functions API (v2) erstellt wurden, geben Sie Trigger im Rahmen der Funktionsbereitstellung an.
Sie geben Trigger im Rahmen der Funktionsbereitstellung an.
Ereignistypen Unterstützung für jeden von Eventarc unterstützten Ereignistyp, einschließlich über 90 Ereignisquellen über Cloud-Audit-Logs. Direkte Unterstützung für Ereignisse aus 7 Quellen
Neuversuche Aktualisieren Sie für Funktionen, die mit der Cloud Run Admin API erstellt wurden, die Wiederholrichtlinie in Eventarc und konfigurieren Sie ein Thema für unzustellbare Nachrichten in Pub/Sub.

Bei Funktionen, die mit der Cloud Functions API v2 erstellt wurden, geben Sie Wiederholungsversuche im Rahmen der Funktionsbereitstellung mit dem Flag --retry an.
Sie geben Wiederholungsversuche im Rahmen der Funktionsbereitstellung mit dem Flag --retry an.

Nächste Schritte