Managed Compute #

Ada jurang yang cukup besar antara mengelola VM sendiri (maksimum kontrol, maksimum tanggung jawab) dengan serverless (nol kontrol, nol tanggung jawab infrastruktur). Di antara keduanya ada spektrum managed compute — layanan yang mengabstraksi sebagian atau seluruh infrastruktur di bawah container atau fungsi kamu, tanpa perlu mengelola cluster Kubernetes sendiri. Managed compute menjawab pertanyaan: “bagaimana menjalankan container di produksi tanpa tim ops yang besar?”

Spektrum Abstraksi Compute #

Spektrum dari kontrol penuh ke abstraksi penuh:

  Bare Metal
    → Kelola hardware fisik sendiri
    → Kontrol total, tanggung jawab total
    ↓
  Virtual Machine (IaaS)
    → Kelola OS, runtime, dan seterusnya
    → Hypervisor dikelola provider
    ↓
  Self-managed Kubernetes
    → Kelola control plane dan worker nodes
    → Orkestrasi container di tangan kamu
    ↓
  Managed Kubernetes (EKS, GKE, AKS)
    → Control plane dikelola provider
    → Kamu kelola worker nodes dan workload
    ↓
  Managed Container Service (ECS, Cloud Run, Container Apps)
    → Tidak perlu tahu tentang cluster atau nodes
    → Push container → platform jalankan
    ↓
  Serverless / FaaS
    → Tidak ada konsep server sama sekali
    → Push fungsi → platform jalankan saat ada event

  Makin ke bawah: lebih sedikit yang dikelola, lebih sedikit kontrol
  Makin ke atas:  lebih banyak yang dikelola, lebih banyak kontrol

Managed Container Service — Deploy Tanpa Cluster #

Managed container service adalah kategori di mana kamu mendeploy container langsung tanpa perlu mengelola cluster Kubernetes atau bahkan worker nodes. Platform yang menangani semua infrastruktur di bawahnya.

Alur Deploy di Managed Container Service:

  1. Build container image
     docker build -t myapp:v1.0 .

  2. Push ke registry
     docker push registry/myapp:v1.0

  3. Define service (CPU, RAM, port, scaling policy)
     {
       "image": "registry/myapp:v1.0",
       "cpu": "1",
       "memory": "2GB",
       "port": 8080,
       "min_instances": 1,
       "max_instances": 10,
       "concurrency": 100
     }

  4. Deploy
     → Platform otomatis provisioning compute
     → Container berjalan, endpoint tersedia
     → Auto-scaling berdasarkan trafik

  Kamu tidak perlu tahu:
  ✓ Di server fisik mana container berjalan
  ✓ Berapa node yang ada di "cluster"
  ✓ Bagaimana load balancing dikonfigurasi
  ✓ Bagaimana health check dan restart bekerja

Perbandingan Managed Kubernetes vs Managed Container Service #

                    Managed Kubernetes    Managed Container Service
────────────────────────────────────────────────────────────────────
Yang kamu kelola    Worker nodes +        Hanya container image
                    workload              dan konfigurasi service
Kontrol             Tinggi (bisa custom   Terbatas (hanya yang
                    networking, storage,  platform ekspos)
                    scheduling, dll)
Kompleksitas        Signifikan            Rendah
Portabilitas        Tinggi (Kubernetes    Sedang-rendah
                    standar industri)     (lebih provider-specific)
Cocok untuk         Workload kompleks,    Microservices sederhana,
                    custom requirements,  startup yang ingin cepat
                    tim yang punya        deploy tanpa ops burden
                    expertise K8s
Biaya               Bayar nodes +         Bayar compute yang
                    managed control plane  digunakan saja (bisa
                                          scale ke nol)

Scale to Zero — Keunggulan Managed Container #

Salah satu fitur paling menarik dari beberapa managed container service adalah kemampuan scale to zero: ketika tidak ada trafik, instance turun ke nol dan tidak ada biaya compute yang berjalan.

Scale to Zero:

  Trafik ada → container berjalan (bayar)
  Tidak ada trafik → container scale ke nol (tidak bayar compute)
  Trafik datang lagi → cold start, lalu berjalan (bayar lagi)

  Perbedaan dengan VM biasa:
  VM running 24/7:    bayar 720 jam/bulan
  Managed container
  dengan scale-to-zero: bayar hanya jam saat ada trafik
  
  Skenario ideal:
  ✓ Internal tools yang dipakai jam kerja saja
  ✓ API staging/preview environment
  ✓ Microservice yang dipanggil tidak menentu

  Trade-off:
  ✗ Cold start — request pertama setelah idle sedikit lambat
    (lebih cepat dari FaaS, lebih lambat dari container yang
    selalu warm)
  
  ✓ Bisa set minimum instances = 1 untuk hindari cold start,
    dengan biaya minimal

Managed Compute untuk Batch dan Job Processing #

Selain service yang selalu berjalan (long-running), managed compute juga mencakup layanan untuk pekerjaan yang bersifat sementara — jalankan, selesaikan, berhenti.

Batch Job dengan Managed Compute:

  Tanpa managed batch:
    Buat VM → install environment → jalankan job →
    tunggu selesai → terminate VM
    (banyak overhead manual)

  Dengan managed batch service:
    Submit job (container image + perintah + resource requirement)
        │
        ▼
    Platform otomatis:
      → Provision compute sesuai kebutuhan job
      → Jalankan container hingga selesai
      → Terminate compute setelah job selesai
      → Laporan status dan log tersedia

  Cocok untuk:
  ✓ Data processing yang tidak real-time
  ✓ ML training job
  ✓ Video transcoding
  ✓ Report generation harian/mingguan
  ✓ ETL pipeline

Kapan Managed Compute Paling Memberikan Nilai #

Managed compute tepat digunakan jika:
  ✓ Tim tidak punya kapasitas untuk kelola Kubernetes cluster
      → Startup, tim kecil, atau tim yang fokus ke product
  
  ✓ Workload yang bervariasi dan butuh scale to zero
      → Bayar hanya saat dipakai, tidak ada idle cost
  
  ✓ Deployment yang sederhana dan cepat
      → Push container, siap serving trafik dalam menit
  
  ✓ Microservices individual yang tidak butuh custom networking
      → Setiap service di-deploy sebagai managed service terpisah

Pertimbangkan Kubernetes jika:
  ✓ Butuh kontrol mendalam atas networking (service mesh, custom ingress)
  ✓ Workload yang sangat beragam dengan kebutuhan spesifik per workload
  ✓ Tim sudah punya expertise Kubernetes
  ✓ Multi-cloud portabilitas adalah prioritas tinggi
  ✓ Stateful workload yang butuh persistent volume management khusus

Ringkasan #

  • Managed compute adalah spektrum antara VM dan serverless — kamu deploy container tanpa mengelola cluster, platform yang mengurus infrastruktur di bawahnya.
  • Managed container service vs managed Kubernetes — yang pertama untuk kesederhanaan dan kecepatan, yang kedua untuk kontrol dan fleksibilitas tinggi.
  • Scale to zero menghilangkan biaya idle — cocok untuk workload yang tidak selalu aktif, tapi perlu dipertimbangkan trade-off cold start.
  • Managed batch service untuk job sementara — submit job sebagai container, platform provision dan terminate compute secara otomatis.
  • Nilai terbesar managed compute: tim kecil bisa jalankan workload production — tanpa overhead operasional yang biasanya butuh tim ops dedicated.
  • Portabilitas lebih rendah dari Kubernetes — managed container service lebih provider-specific; pertimbangkan ini jika portabilitas adalah kebutuhan utama.

← Sebelumnya: Container   Berikutnya: Autoscaling →

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