Opsi penerapan
Cloud Run menawarkan beberapa opsi deployment. Semua opsi deployment menghasilkan image container yang berjalan sebagai layanan atau tugas Cloud Run di infrastruktur Cloud Run yang terkelola sepenuhnya dan sangat skalabel.
Image container
Setiap image container yang mematuhi kontrak runtime container Cloud Run dapat di-deploy ke layanan atau tugas Cloud Run.
Sumber
Untuk memudahkan, Cloud Run memungkinkan Anda mem-build dan men-deploy kode sumber dari satu perintah.
Saat men-deploy sumber, Cloud Build akan mengubah kode menjadi image
container yang disimpan di Artifact Registry.
Anda dapat men-deploy sumber yang menyertakan Dockerfile
atau ditulis dalam salah satu
runtime bahasa yang didukung.
Sumber dapat di-deploy ke layanan atau tugas Cloud Run.
Functions
Anda dapat men-deploy fungsi dengan tujuan tunggal yang merespons peristiwa yang dikeluarkan dari infrastruktur dan layanan cloud Anda. Fungsi Anda dipicu saat peristiwa yang sedang dipantau diaktifkan.
Deployment fungsi adalah jenis khusus deployment sumber, yang hanya mengharuskan Anda memberikan kode fungsi. Anda dapat menulis fungsi Cloud Run menggunakan sejumlah bahasa pemrograman yang didukung.
Fungsi di-deploy sebagai layanan Cloud Run.
Deployment sumber berkelanjutan dari git
Cloud Run membantu Anda mengonfigurasi deployment berkelanjutan dari Git.
Seperti deployment sumber, Anda dapat men-deploy sumber yang menyertakan
Dockerfile
atau ditulis dalam salah satu runtime bahasa yang didukung.
Deployment berkelanjutan dari Git tersedia untuk layanan Cloud Run dan dapat dikonfigurasi secara manual di Cloud Build untuk tugas Cloud Run.
Layanan Cloud Run
Layanan adalah salah satu resource utama Cloud Run. Setiap layanan berada di region Google Cloud tertentu. Untuk redundansi dan failover, layanan secara otomatis direplikasi di beberapa zona di region tempatnya berada. Project Google Cloud tertentu dapat menjalankan banyak layanan di berbagai region.
Setiap layanan mengekspos endpoint unik dan secara otomatis menskalakan infrastruktur yang mendasarinya untuk menangani permintaan masuk. Anda dapat men-deploy layanan dari container, repositori, atau kode sumber.
Diagram berikut menunjukkan model resource Cloud Run untuk layanan:
Diagram ini menunjukkan project Google Cloud yang berisi tiga layanan Cloud Run
, Service A
, Service B
, dan Service C
, yang masing-masing memiliki beberapa revisi.
Dalam diagram, Service A
menerima banyak permintaan, yang menyebabkan
startup dan menjalankan beberapa instance, masing-masing menjalankan satu container. Perhatikan
bahwa Service B
tidak menerima permintaan, sehingga belum ada instance yang dimulai.
Service C
menjalankan beberapa container per instance dalam setiap revisi: perhatikan bahwa hanya
container ingress yang menerima permintaan. Setiap instance dengan beberapa
container diskalakan sebagai unit independen.
Revisi layanan Cloud Run
Setiap deployment ke layanan membuat revisi. Revisi terdiri dari satu atau beberapa image container, beserta konfigurasi seperti variabel lingkungan, batas memori, atau nilai konkurensi permintaan.
Revisi tidak dapat diubah: setelah revisi dibuat, revisi tidak dapat dimodifikasi. Misalnya, saat Anda men-deploy image container ke layanan Cloud Run yang baru , revisi pertama akan dibuat. Jika kemudian Anda men-deploy image container yang berbeda ke layanan yang sama, revisi kedua akan dibuat. Jika selanjutnya Anda menetapkan variabel lingkungan, revisi ketiga akan dibuat, dan seterusnya .
Permintaan akan diarahkan secara otomatis sesegera mungkin ke revisi layanan responsif terbaru.
Instance layanan Cloud Run
Setiap revisi layanan yang menerima permintaan akan disesuaikan secara otomatis dengan jumlah instance yang diperlukan untuk menangani semua permintaan ini. Perhatikan bahwa instance dapat menerima banyak permintaan secara bersamaan. Dengan setelan konkurensi permintaan, Anda dapat menetapkan jumlah maksimum permintaan yang dapat dikirim secara paralel ke setiap instance revisi.
Tugas Cloud Run
Setiap tugas berada di region Google Cloud tertentu dan menjalankan satu container atau lebih hingga selesai. Tugas terdiri dari satu atau beberapa tugas independen yang dijalankan secara paralel dalam eksekusi tugas tertentu.
Eksekusi tugas Cloud Run
Saat tugas dieksekusi, eksekusi tugas akan dibuat di tempat semua tugas tugas dimulai. Semua tugas dalam eksekusi tugas harus berhasil diselesaikan agar eksekusi tugas berhasil. Anda dapat menetapkan waktu tunggu pada tugas dan menentukan jumlah percobaan ulang jika terjadi kegagalan tugas. Jika tugas apa pun melebihi jumlah percobaan ulang maksimumnya, tugas tersebut akan ditandai sebagai gagal dan tugas akan ditandai sebagai gagal. Secara default, tugas dieksekusi secara paralel hingga maksimum 100, tetapi Anda dapat menentukan nilai maksimum yang lebih rendah jika salah satu resource pendukung Anda memerlukannya.
Tugas tugas Cloud Run
Setiap eksekusi tugas menjalankan sejumlah tugas secara paralel. Setiap tugas menjalankan satu instance, dan dapat mencoba lagi.