Eksekusi kode di Cloud Run

Keunggulan utama menggunakan Cloud Run untuk menghosting agen AI adalah Cloud Run mengisolasi kode menggunakan lingkungan eksekusi yang aman. Dengan membuat alat sandbox kode di Cloud Run dan menjalankannya di container, Anda dapat mengeksekusi kode aplikasi menggunakan bahasa pemrograman apa pun yang Anda pilih.

Sandbox dua lapis yang aman

Cloud Run mengisolasi semua instance menggunakan sandbox dua lapis yang terdiri dari lapisan yang didukung hardware yang setara dengan setiap VM (virtualisasi x86) dan lapisan kernel software. Untuk mengetahui informasi selengkapnya, lihat Ringkasan desain keamanan.

Saat Anda men-deploy kode, Cloud Run akan membatasi kode dalam lingkungan sandbox. Isolasi ini memungkinkan Anda menjalankan kode yang tidak tepercaya, seperti kode yang dihasilkan oleh model bahasa besar (LLM), dengan keamanan yang lebih baik. Saat Anda menjalankan kode yang tidak tepercaya, batasi izin IAM di layanan Cloud Run Anda dan gunakan aturan firewall VPC untuk mencegah kode Anda melakukan panggilan ke internet.

Mode eksekusi kode

Cloud Run menyediakan mode berikut untuk eksekusi kode:

  • Eksekusi asinkron: untuk menghindari gangguan pada alur aplikasi utama, jalankan tugas secara asinkron dengan menggunakan tugas Cloud Run untuk tugas yang berjalan lebih lama atau tugas latar belakang. Misalnya, jalankan tugas Cloud Run yang mengupload kode ke Cloud Storage, menginstal dependensi yang diperlukan, lalu memproses dan menyimpan hasilnya kembali di Cloud Storage.

  • Eksekusi sinkron: untuk proses yang memerlukan respons langsung, gunakan layanan Cloud Run. Layanan Cloud Run memiliki waktu tunggu maksimum satu jam, yang memberikan waktu yang cukup lama bagi kode Anda untuk berjalan. Untuk membatasi instance agar memproses satu permintaan dalam satu waktu, tetapkan nilai konkurensi ke 1. Anda juga dapat mengambil kode untuk dieksekusi sebagai bagian dari isi permintaan, menampilkan hasilnya dalam respons, lalu menghentikan instance penampung.

    Gambar berikut menunjukkan dua mode eksekusi kode:

    Untuk eksekusi asinkron, kode diupload ke Cloud Storage, yang dieksekusi sebagai tugas Cloud Run. Tugas mengirimkan hasil eksekusi ke Cloud Storage untuk disimpan. Untuk eksekusi sinkron, agen mengirimkan permintaan ke layanan Cloud Run, dengan kode di isi permintaan. Layanan memiliki waktu tunggu satu jam dan konkurensi `1`. Layanan Cloud Run memproses kode dan mengirimkannya ke instance layanan, yang menampilkan respons kembali ke agen.
    Gambar 1. Mode eksekusi kode di Cloud Run

Langkah berikutnya