Cloud Run #

Dalam ekosistem Google Cloud Platform (GCP), Cloud Run menempati posisi unik sebagai layanan serverless container. Ia menjembatani dunia containerization (Docker) dengan paradigma serverless yang meniadakan kebutuhan mengelola server, VM, atau cluster Kubernetes secara langsung.

Cloud Run sangat relevan untuk tim modern yang ingin:

  • Fokus pada logic bisnis, bukan infrastruktur
  • Mendapatkan auto-scaling hingga nol
  • Menjalankan aplikasi berbasis HTTP dengan cepat dan efisien

Artikel ini membahas Cloud Run secara menyeluruh: dari konsep dasar, alasan menggunakan serverless, jenis Cloud Run, konfigurasi, observability, hingga pro–cons dan best practice.

Apa Itu Google Cloud Run? #

Google Cloud Run adalah layanan fully managed serverless untuk menjalankan container image yang menerima request berbasis HTTP/HTTPS.

Karakteristik utama Cloud Run:

  • Menjalankan Docker container standar
  • Tidak perlu mengelola server, VM, atau Kubernetes
  • Auto-scale dari 0 hingga ribuan instance
  • Billing berbasis request & waktu eksekusi aktual

Dengan Cloud Run, selama aplikasi Anda:

  • Listen di satu port (default 8080)
  • Stateless (atau state eksternal)

Maka hampir semua bahasa & framework bisa dijalankan (Go, Node.js, Python, Java, Rust, PHP, dll).


Kenapa Cloud Run? #

Eliminasi Beban Infrastruktur #

Tidak ada:

  • Provisioning VM
  • Patch OS
  • Upgrade cluster
  • Capacity planning

Semua itu ditangani oleh GCP.

Skalabilitas Otomatis #

Cloud Run secara native mendukung:

  • Scale out otomatis saat traffic naik
  • Scale to zero saat idle

Ini sangat ideal untuk:

  • API dengan traffic fluktuatif
  • Webhook
  • Background job berbasis HTTP

Cost-Efficient #

Billing Cloud Run berdasarkan:

  • CPU-time
  • Memory-time
  • Jumlah request

Tidak ada biaya saat service tidak menerima request.

Fleksibilitas Container #

Berbeda dengan Cloud Functions yang opinionated, Cloud Run:

  • Bebas struktur aplikasi
  • Bebas runtime
  • Bebas dependency sistem

Jenis-Jenis Cloud Run #

Cloud Run (Fully Managed) #

Ini adalah mode paling umum.

Ciri:

  • Infrastruktur sepenuhnya dikelola Google
  • Tidak perlu cluster GKE
  • Scaling, networking, security otomatis

Cocok untuk:

  • API
  • Microservices
  • Web backend

Cloud Run for Anthos / GKE (Cloud Run on GKE) #

Cloud Run dijalankan di atas cluster GKE.

Ciri:

  • Kontrol lebih besar terhadap node & network
  • Bisa berjalan di hybrid / on‑prem
  • Tetap pakai API Cloud Run

Trade-off:

  • Tidak sepenuhnya serverless
  • Tetap perlu manage cluster

Arsitektur Dasar Cloud Run #

Secara konseptual:

  1. User mengirim HTTP request
  2. Cloud Run router menerima request
  3. Instance container dibuat (jika belum ada)
  4. Request diteruskan ke container
  5. Response dikembalikan ke user
  6. Instance akan di-scale down saat idle

Cloud Run bersifat request-driven, bukan process-driven.


Konfigurasi yang Bisa Diset di Cloud Run #

Resource Configuration #

  • CPU (1, 2, 4)
  • Memory (512MiB – 32GiB)
  • CPU Always Allocated vs CPU only during request

Pengaruh langsung ke:

  • Performance
  • Cold start
  • Cost

Concurrency #

Menentukan berapa request yang bisa ditangani satu instance sekaligus.

  • Default: 80
  • Bisa diset ke 1 untuk workload berat

Concurrency tinggi = lebih hemat, tapi perlu thread-safe.

Autoscaling #

  • Min instances
  • Max instances

Use case:

  • Min instance > 0 untuk mengurangi cold start
  • Max instance untuk mencegah spike tak terkendali

Environment Variables & Secrets #

  • Env var biasa
  • Integrasi Secret Manager

Best practice:

  • Jangan hardcode credential
  • Semua secret di Secret Manager

Networking & Access #

  • Public (unauthenticated)
  • Private (IAM-based)
  • VPC Connector untuk akses internal

Deployment Configuration #

  • Region
  • Traffic splitting (blue-green / canary)
  • Revision-based deployment

Apa Saja yang Bisa Dimonitor di Cloud Run? #

Cloud Run terintegrasi penuh dengan Google Cloud Observability.

Metrics #

  • Request count
  • Latency (p50, p95, p99)
  • Error rate (4xx, 5xx)
  • CPU & memory usage
  • Instance count

Logging #

  • Stdout / stderr otomatis masuk Cloud Logging
  • Structured logging sangat dianjurkan

Tracing #

  • Integrasi Cloud Trace
  • Cocok untuk distributed tracing

Alerting #

Bisa membuat alert berbasis:

  • Error rate
  • Latency threshold
  • Instance spike

Pros & Cons Cloud Run #

✅ Pros #

  • Fully serverless
  • Scale to zero
  • Billing sangat granular
  • Mendukung container standar
  • Deployment cepat
  • Integrasi native dengan GCP

❌ Cons #

  • Cold start (terutama bahasa berat)
  • Hanya mendukung HTTP-based workload
  • Tidak cocok untuk long-running connection
  • Vendor lock-in (meski container-based)

Kapan Cloud Run Tidak Tepat? #

Cloud Run bukan solusi universal.

Kurang cocok jika:

  • Butuh websocket long-lived
  • Butuh background job tanpa HTTP trigger
  • Perlu kontrol OS/kernel

Alternatif:

  • GKE
  • Compute Engine
  • Cloud Functions (untuk event-driven murni)

Best Practice #

Buat Aplikasi Stateless #

Gunakan:

  • Cloud SQL
  • Firestore
  • Redis / Memorystore

Untuk state eksternal.

Optimalkan Cold Start #

  • Gunakan base image ringan (distroless, alpine)
  • Minimize dependency
  • Set min instance jika perlu

Atur Concurrency dengan Bijak #

  • CPU-bound → concurrency rendah
  • I/O-bound → concurrency tinggi

Gunakan IAM, Bukan API Key #

  • Service-to-service pakai IAM
  • Lebih aman & terkontrol

Logging Terstruktur #

Gunakan JSON logging agar:

  • Mudah di-query
  • Mudah di-alert

Batasi Max Instance #

Untuk:

  • Mencegah biaya tak terduga
  • Melindungi dependency downstream

Penutup #

Google Cloud Run adalah salah satu implementasi serverless container paling matang saat ini. Ia menawarkan kombinasi ideal antara fleksibilitas container dan kesederhanaan serverless.

Jika Anda mengembangkan:

  • API
  • Microservices
  • Web backend modern

Cloud Run adalah kandidat yang sangat kuat, baik untuk startup maupun enterprise.

Dengan pemahaman konfigurasi, monitoring, dan best practice yang tepat, Cloud Run bisa menjadi fondasi arsitektur cloud yang efisien, scalable, dan cost‑effective.

About | Author | Content Scope | Editorial Policy | Privacy Policy | Disclaimer | Contact