Serverless vs Kubernetes (atau Container Lainnya): Mana yang Tepat untuk Skala Modern?

Dalam dunia software engineering modern, perdebatan antara serverless dan container-based infrastructure (seperti Kubernetes, Docker Swarm, ECS, dll) tidak pernah berhenti.
Keduanya punya filosofi dan trade-off yang berbeda — dan keputusan untuk memilih salah satunya bisa menentukan arah arsitektur jangka panjang perusahaanmu.

Artikel ini akan membahas perbandingan keduanya tanpa bias, dengan perspektif teknis, bisnis, dan real-world use case seperti yang digunakan oleh perusahaan unicorn.


⚙️ Apa Itu Kubernetes (Container Orchestration)

Kubernetes, atau biasa disebut K8s, adalah sistem orchestrator yang mengatur deployment, scaling, dan manajemen container (misalnya dari Docker).

🧩 Filosofinya:

Jalankan apapun, di mana pun — tapi dengan kontrol penuh.

Kubernetes cocok untuk tim yang ingin mengelola sendiri infrastrukturnya, terutama saat aplikasi mulai memiliki:

  • Banyak microservice,

  • Dependensi antar service,

  • Traffic besar yang tidak bisa diprediksi,

  • Kebutuhan observability (metrics, tracing, logging).

⚙️ Contoh:

  • Backend e-commerce dengan 50+ microservice (cart, checkout, notification, payment).

  • Sistem AI/ML yang butuh node GPU.

  • Event-driven system (Kafka, Redis, RabbitMQ) yang butuh integrasi rumit.


☁️ Apa Itu Serverless

Serverless (seperti AWS Lambda, Cloudflare Workers, Vercel Edge Functions, dan Google Cloud Functions) berarti kamu tidak perlu memikirkan server sama sekali.

Kamu hanya menulis fungsi — dan cloud provider yang men-deploy, men-scale, dan menutupnya otomatis.

🧩 Filosofinya:

Jangan urus infrastruktur — fokus pada logika bisnis.

Serverless cocok untuk:

  • Fungsi stateless (tidak menyimpan sesi di RAM). Setiap permintaan ke serverless diperlakukan sebagai peristiwa yang benar-benar baru dan terisolasi. Jika sebuah serverless dipicu dua kali berturut-turut, kedua eksekusi tersebut tidak akan berbagi memori atau variabel lokal apa pun.

  • API ringan.

  • Event-driven workflow (webhook, cron job, form submission).

  • Edge computation dekat pengguna.


⚔️ Perbandingan Langsung

Aspek

Kubernetes (Container)

Serverless

Arsitektur

Container orchestration

Function-as-a-Service

Control Level

Sangat tinggi (full OS/network)

Terbatas (sandboxed)

Statefulness

Bisa stateful & stateless

Stateless saja

Startup Time

Detik–menit

Milidetik

Scaling

Manual + autoscale (HPA, VPA)

Otomatis sepenuhnya

Cost Model

Bayar per node (24/7)

Bayar per eksekusi

Complexity

Butuh DevOps & CI/CD

Sangat mudah di-deploy

Latency Konsisten

✅ Stabil

⚠️ Cold start

Vendor Lock-in

Rendah (portable)

Tinggi (spesifik provider)

Use Case Ideal

Sistem kompleks, multi-service

API ringan, event kecil

Contoh Tools

K8s, Docker, ECS, Nomad

Cloudflare Worker, AWS Lambda


💬 Analogi Cepat

Analogi

Kubernetes

Serverless

🍽️ Restoran

Kamu punya dapur sendiri, kontrol penuh

Pesan makanan lewat GoFood

🚗 Transportasi

Punya mobil pribadi, bisa ke mana saja

Panggil ojek hanya saat perlu

🏗️ Arsitektur

Build custom rumah besar

Sewa kamar sesuai kebutuhan


🧠 Realita di Dunia Unicorn

Hampir semua perusahaan besar seperti Gojek, Tokopedia, Shopee, Grab, Traveloka menggunakan kombinasi keduanya.
Alasannya sederhana: mereka butuh keseimbangan antara kontrol dan efisiensi operasional.

⚙️ Biasanya seperti ini:

Layer

Platform

Alasan

Frontend Edge

Serverless (Cloudflare Worker, Vercel Edge)

Latency rendah, caching cepat

API Core

Kubernetes / Docker

Butuh state, integrasi antar sistem

Payment Event

Serverless

Event-driven & asynchronous

Background Job

Kubernetes (KEDA)

Load tinggi, long-running

Data Pipeline

Kubernetes + Kafka

High throughput

Monitoring

Kubernetes + Prometheus

Observability penuh


💸 Biaya dan Skala

Skenario

Serverless Lebih Baik

Kubernetes Lebih Baik

Proyek kecil atau prototipe

Traffic tidak menentu

⚙️ Bisa, tapi perlu konfigurasi

Traffic stabil & tinggi

❌ Bisa jadi mahal

✅ Lebih efisien

Butuh koneksi long-lived (WebSocket, DB pooling)

Ingin multi-cloud deployment

⚠️ Sulit

✅ Portable


🧩 Kombinasi Ideal (Hybrid Architecture)

Kebanyakan arsitektur modern menggabungkan keduanya:

Client → Cloudflare Worker (Edge) → Kubernetes API → Database

Keuntungan:

  • Edge layer cepat & global (serverless)

  • Backend stabil & fleksibel (container)

  • Observability & deployment tetap manageable


🔍 Kesimpulan

Kebutuhan

Pilihan Tepat

API ringan, latency rendah, tanpa ops

Serverless

Sistem kompleks, banyak dependensi

Kubernetes / Container

Butuh performa tinggi & kontrol penuh

Kubernetes

Startup kecil atau MVP cepat

Serverless dulu

Enterprise-scale product

Hybrid (K8s + Serverless)


💬 Kesimpulan Akhir

Serverless membuat developer cepat bergerak,
tapi Kubernetes memberi kontrol dan stabilitas jangka panjang.

Unicorn modern tidak memilih salah satu — mereka menggabungkannya:

  • Serverless untuk kecepatan,

  • Kubernetes untuk kekuatan,

  • Cloud orchestration untuk otomatisasi.


🧠 “The future isn’t serverless or containerized — it’s both.”

Hey there 👋

Ready to help you explore?