Di komunitas IT, ada tren seolah-olah kalau belum pakai Kubernetes (K8s), arsitektur deployment kita belum keren. Tapi setelah bertahun-tahun merawat server produksi di lapangan, saya menyadari bahwa untuk tim beranggotakan 2-10 developer, memaksakan Kubernetes sering kali menjadi bumerang waktu dan biaya.
Biaya Tersembunyi Kubernetes (K8s Tax)
- Konsumsi Resource Control Plane: Master node k8s (etcd, kube-apiserver, kube-scheduler) sendiri butuh minimal 4-8 GB RAM hanya untuk standby.
- Kompleksitas Mental: Developer harus paham Ingress Controller, Helm chart, PVC, StorageClass, NetworkPolicy, dan RBAC hanya untuk deploy aplikasi CRUD sederhana.
- Upkeep & Upgrade: Siklus rilis k8s yang cepat (tiap 4 bulan) menuntut maintenance rutin agar API tidak deprecated.
Keunggulan Docker Swarm di Lapangan
Docker Swarm sudah terintegrasi langsung di dalam binary Docker engine tanpa perlu install tool tambahan:
# Inisialisasi cluster hanya butuh 1 baris
docker swarm init --advertise-addr 10.2.0.245
# Join node worker
docker swarm join --token SWMTKN-1-xxxx 10.2.0.245:2377
Fitur yang Sudah Cukup untuk 95% Kebutuhan
- Zero-Downtime Rolling Update:
docker service update --image my-app:v2otomatis mengganti container satu per satu tanpa memutus koneksi user. - Internal Overlay Network & Load Balancing: Sudah ada DNS bawaan antarservice dan mesh routing port.
- Format File Familiar: Cukup gunakan file
docker-compose.ymlstandar dengan tambahan blockdeploy:.