Membandingkan Cloud Run Functions

Panduan ini membandingkan pilihan Google Cloud terbaru dan asli untuk men-deploy fungsi. Halaman ini membantu pengguna yang sebelumnya membuat fungsi dengan Cloud Functions API dan bertransisi ke Cloud Run Admin API. Halaman ini menjelaskan perbedaan utama di beberapa area, seperti konsep, konfigurasi, deployment, serta pemicu dan percobaan ulang.

Perbandingan

Ada dua versi fungsi Cloud Run:

  • Fungsi Cloud Run, sebelumnya dikenal sebagai Cloud Functions (generasi ke-2), adalah versi terbaru dari fungsi yang dapat Anda deploy sebagai layanan di Cloud Run. Fungsi ini dapat bereaksi terhadap permintaan HTTP(S) atau merespons peristiwa yang disebarkan oleh pemicu berbasis Eventarc, seperti Pub/Sub.

  • Cloud Run Functions (generasi ke-1), yang sebelumnya dikenal sebagai Cloud Functions (generasi ke-1), adalah versi asli fungsi dengan pemicu peristiwa dan kemampuan konfigurasi terbatas.

Sebaiknya gunakan fungsi Cloud Run versi saat ini karena memberi Anda fleksibilitas dan kontrol yang lebih besar atas runtime fungsi. Dengan men-deploy fungsi langsung ke Cloud Run, fungsi Anda akan otomatis di-build sebagai penampung dan di-deploy sebagai layanan Cloud Run.

Konsep

Tabel berikut merangkum perbedaan konseptual untuk fungsi.

Cloud Run Functions Cloud Run Functions (generasi ke-1)
Nama produk sebelumnya Cloud Functions (generasi ke-2) Cloud Functions (generasi ke-1)
Model resource Fungsi adalah layanan Cloud Run yang di-deploy dari kode sumber Fungsi di-deploy dari kode sumber
Jenis terminologi fungsi
  • Fungsi HTTP
  • Fungsi CloudEvents, yang juga disebut sebagai fungsi berbasis peristiwa, didukung di semua runtime bahasa.
  • Fungsi HTTP
  • Hanya runtime Ruby, .NET, dan PHP yang mendukung CloudEvents. Untuk Node.js, Go, Python, dan Java, buat fungsi berbasis peristiwa menggunakan fungsi Latar Belakang.
URL HTTPS yang Ditetapkan run.app

Fungsi yang dibuat dengan Cloud Functions API (v2) juga memiliki endpoint cloudfunctions.net.
cloudfunctions.net
Registry image Hanya Artifact Registry Artifact Registry atau Container Registry (tidak digunakan lagi)
Peran IAM untuk deployment
Infrastruktur internal Cloud Run Internal Google
Model penetapan harga Harga Cloud Run Harga Cloud Run Functions (generasi ke-1)

Konfigurasi

Cloud Run mem-build fungsi ke dalam container dan men-deploynya sebagai layanan. Saat men-deploy fungsi ke Cloud Run, Anda memiliki akses dan kontrol penuh atas perilaku fungsi. Misalnya, Anda dapat mengaktifkan VPC Langsung, mengonfigurasi GPU, menggunakan pemasangan volume, dan lainnya.

Tabel berikut merangkum perbedaan konfigurasi untuk fungsi:

Cloud Run Functions Cloud Run Functions (generasi ke-1)
Waktu tunggu permintaan
  • Hingga 60 menit untuk fungsi yang dipicu HTTP
  • Hingga 9 menit untuk fungsi CloudEvents yang dibuat dengan Cloud Functions API (v2)
  • Hingga 9 menit
Ukuran instance RAM hingga 16 GiB dengan 4 vCPU RAM hingga 8 GB dengan 2 vCPU
Serentak Hingga 1.000 permintaan serentak per instance fungsi 1 permintaan serentak per instance fungsi
Pemisahan traffic Didukung Tidak didukung

Deployment

Mulai Agustus 2024, Anda dapat menggunakan Cloud Run untuk men-deploy dan mengelola fungsi yang dibuat dengan Cloud Functions API (v2). Akibat perubahan ini:

  • Metadata fungsi seperti ID runtime dan konfigurasi build disimpan dalam definisi layanan Cloud Run.
  • Anda dapat mengedit fungsi dengan aman menggunakan Cloud Run Admin API.
  • Anda dapat mengandalkan definisi layanan Cloud Run sebagai sumber kebenaran untuk fungsi Anda.

Namun, perlu diperhatikan bahwa fungsi yang dibuat dengan Cloud Run Admin API tidak dapat diubah dengan Cloud Functions API.

Tabel berikut merangkum perbedaan dalam cara Anda membuat, men-deploy, mengedit, dan mengelola fungsi:

Cloud Run Functions Cloud Run Functions (generasi ke-1)
Konsol Google Cloud Cloud Run Cloud Run Functions (generasi ke-1)
Cloud SDK
REST API
  • run.googleapis.com (v1 dan v2) untuk fungsi yang dibuat dengan Cloud Run Admin API atau Cloud Functions API.
Terraform

Pemicu dan percobaan ulang

Tabel berikut membandingkan pemicu dan percobaan ulang untuk fungsi:

Cloud Run Functions Cloud Run Functions (generasi ke-1)
Memicu dan memanggil fungsi Untuk fungsi yang dibuat dengan Cloud Run Admin API, Anda menentukan pemicu sebagai bagian dari deployment fungsi di Konsol Google Cloud atau setelah men-deploy fungsi saat menggunakan gcloud CLI.

Untuk fungsi yang dibuat dengan Cloud Functions API (v2), Anda menentukan pemicu sebagai bagian dari deployment fungsi.
Anda menentukan pemicu sebagai bagian dari deployment fungsi.
Jenis peristiwa Dukungan untuk jenis peristiwa apa pun yang didukung oleh Eventarc, termasuk lebih dari 90 sumber peristiwa melalui Cloud Audit Logs. Dukungan langsung untuk peristiwa dari 7 sumber.
Upaya coba lagi Untuk fungsi yang dibuat dengan Cloud Run Admin API, perbarui kebijakan percobaan ulang di Eventarc dan konfigurasikan topik dead-letter di Pub/Sub.

Untuk fungsi yang dibuat dengan Cloud Functions API v2, Anda menentukan percobaan ulang sebagai bagian dari deployment fungsi dengan flag --retry.
Anda menentukan percobaan ulang sebagai bagian dari deployment fungsi dengan flag --retry.

Langkah selanjutnya