Beli VPS Murah untuk Development: Panduan Praktis

by Marcus Chen
Beli VPS Murah untuk Development: Panduan Praktis

Masalahnya: Laptop Lokal Nggak Cukup, Cloud Mahal

Kamu lagi develop aplikasi, terus butuh environment yang selalu nyala — buat testing webhook, cron job, atau sekadar punya server yang bisa diakses tim. Pakai laptop sendiri? Ribet, harus selalu hidup. Pakai cloud managed kayak Railway atau Render? Enak sih, tapi begitu traffic naik atau kamu butuh persistent storage yang lebih besar, tagihannya langsung bikin kaget.

Gue pernah di posisi itu. Tagihan cloud naik tiga kali lipat dalam sebulan karena lupa matiin beberapa service. Akhirnya gue mutusin untuk beli VPS murah khusus buat development dan staging environment. Hasilnya? Biaya turun drastis, kontrol lebih penuh, dan workflow-nya justru lebih enak.

Artikel ini bukan review afiliasi. Ini catatan teknis dari apa yang gue pakai sendiri — spec apa yang worth it, provider mana yang stabil, dan bagaimana setup awal yang nggak bikin frustrasi.


Spec Minimum yang Realistis untuk Dev Environment

Sebelum beli VPS murah untuk development, tentuin dulu workload kamu. Jangan asal pilih yang paling murah tanpa tahu konsekuensinya.

Untuk solo developer atau project kecil:

  • vCPU: 1–2 core
  • RAM: 2 GB minimum (kalau mau jalanin Docker, minimal 2 GB, idealnya 4 GB)
  • Storage: 20–40 GB SSD NVMe
  • Bandwidth: 1 TB/bulan biasanya lebih dari cukup
  • OS: Ubuntu 22.04 LTS (paling banyak dokumentasinya)

Gotcha pertama yang sering dilupain: VPS dengan RAM 1 GB itu kelihatannya cukup di atas kertas, tapi begitu kamu jalanin Nginx + Node.js + PostgreSQL + Redis secara bersamaan, sistem bisa swap terus-terusan dan performa drop parah. Kalau budget mepet, pilih RAM 2 GB daripada CPU lebih banyak.

Untuk tim kecil atau staging environment:

  • vCPU: 2–4 core
  • RAM: 4–8 GB
  • Storage: 60–80 GB SSD

Provider VPS yang Gue Pertimbangin (dan Kenapa)

Ini bukan daftar lengkap semua provider di dunia. Ini shortlist yang gue pertimbangin berdasarkan harga, latency ke Indonesia, dan pengalaman langsung.

Contabo

Harga paling agresif untuk spec yang didapat. VPS 4 vCPU + 8 GB RAM bisa dapat di bawah $7/bulan. Tapi ada trade-off: support-nya lambat, dan node-nya ada di Eropa atau Amerika — latency dari Indonesia bisa 200–300ms. Oke untuk development, kurang ideal untuk production yang user-nya di Indonesia.

Hetzner

Favorit banyak developer Eropa. Harga kompetitif, infrastruktur solid, ada datacenter di Finlandia dan Jerman. Latency ke Indonesia sekitar 150–250ms. Untuk development environment yang nggak butuh latency rendah, ini pilihan yang sangat worth it. CX21 (2 vCPU, 4 GB RAM) sekitar €4–5/bulan.

DigitalOcean / Vultr / Linode (Akamai)

Harga lebih tinggi dari Contabo/Hetzner, tapi UX-nya lebih polished dan ada datacenter di Singapore — latency ke Indonesia bisa 20–50ms. Kalau kamu sering SSH atau butuh koneksi yang responsif saat development, Singapore node ini worth the extra cost.

Provider Lokal Indonesia

Banyak provider lokal yang menawarkan VPS murah dengan datacenter di Jakarta. Latency-nya paling rendah (< 10ms kalau kamu di Jawa). Cocok banget kalau kamu develop aplikasi yang butuh testing dengan kondisi jaringan Indonesia yang realistis. Cek beberapa provider dengan reputasi baik, baca review di forum atau komunitas Discord developer Indonesia sebelum commit.

Gotcha kedua: Jangan cuma lihat harga per bulan. Perhatiin juga biaya bandwidth overage, biaya snapshot/backup, dan apakah harga itu sudah termasuk IPv4 atau bayar terpisah. Beberapa provider charge tambahan untuk dedicated IPv4 karena kelangkaan alamat IP.


Setup Awal VPS: Dari Fresh Install Sampai Siap Dipakai

Oke, kamu udah beli VPS. Dapat IP address dan root password (atau SSH key). Sekarang apa?

Ini script setup awal yang gue jalanin di setiap VPS baru. Urutan ini penting.

Step 1: Login dan Update Sistem

ssh root@YOUR_VPS_IP
apt update && apt upgrade -y

Step 2: Buat User Non-Root

Jangan kerja sebagai root terus. Ini kebiasaan buruk.

adduser devuser
usermod -aG sudo devuser

# Copy SSH key ke user baru
mkdir -p /home/devuser/.ssh
cp ~/.ssh/authorized_keys /home/devuser/.ssh/
chown -R devuser:devuser /home/devuser/.ssh
chmod 700 /home/devuser/.ssh
chmod 600 /home/devuser/.ssh/authorized_keys

Step 3: Hardening SSH Dasar

nano /etc/ssh/sshd_config

Ubah atau tambahkan baris ini:

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Restart SSH:

systemctl restart sshd

Gotcha ketiga (yang paling sering bikin orang lockout): Jangan tutup sesi SSH yang sekarang sebelum kamu buka terminal baru dan verifikasi bisa login dengan user baru di port 2222. Kalau langsung tutup dan ternyata ada yang salah, kamu bakal kena lockout dan harus pakai console VPS dari panel provider.

Step 4: Setup Firewall dengan UFW

apt install ufw -y

ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp    # SSH port baru
ufw allow 80/tcp      # HTTP
ufw allow 443/tcp     # HTTPS

ufw enable
ufw status

Step 5: Install Docker (Kalau Kamu Pakai Container)

Ini cara install Docker yang bener di Ubuntu 22.04, bukan yang dari apt default (versi-nya sering outdated):

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

# Tambah user ke group docker supaya nggak perlu sudo terus
usermod -aG docker devuser

# Verifikasi
docker --version
docker run hello-world

Step 6: Install Fail2ban

Bot scanner itu nyata. Dalam hitungan menit setelah VPS online, log kamu udah penuh dengan brute force attempt.

apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban

# Cek status
fail2ban-client status sshd

Setup Reverse Proxy dengan Caddy (Lebih Simple dari Nginx)

Kalau kamu mau deploy beberapa aplikasi di satu VPS dengan domain berbeda, kamu butuh reverse proxy. Gue pakai Caddy karena HTTPS otomatis via Let's Encrypt tanpa konfigurasi tambahan.

apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy

Contoh Caddyfile untuk dua aplikasi:

api.kamu.dev {
    reverse_proxy localhost:3000
}

app.kamu.dev {
    reverse_proxy localhost:8080
}
caddy reload --config /etc/caddy/Caddyfile

Selesai. HTTPS langsung aktif, certificate di-renew otomatis. Nggak perlu certbot, nggak perlu konfigurasi SSL manual.


Monitoring Sederhana: Tahu Kondisi VPS Tanpa Ribet

Kamu nggak butuh stack monitoring yang kompleks untuk development VPS. Yang penting kamu tahu kalau RAM hampir penuh atau disk mau habis.

Install htop dan ncdu

apt install htop ncdu -y

# htop untuk monitor CPU dan RAM real-time
htop

# ncdu untuk cek penggunaan disk per folder
ncdu /

Script Cek Kesehatan Sederhana

Bikin file /usr/local/bin/health-check.sh:

#!/bin/bash

echo "=== VPS Health Check ==="
echo "Date: $(date)"
echo ""
echo "--- Memory ---"
free -h
echo ""
echo "--- Disk ---"
df -h /
echo ""
echo "--- CPU Load ---"
uptime
echo ""
echo "--- Docker Containers ---"
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
chmod +x /usr/local/bin/health-check.sh

# Jalanin kapan aja
health-check.sh

Kalau mau lebih serius, pasang Netdata (self-hosted, ringan) atau pakai Uptime Kuma untuk monitoring endpoint dari luar.


Optimasi Biaya: Supaya Tagihan Nggak Melar

Beberapa hal yang gue lakuin untuk jaga biaya tetap predictable:

1. Pakai snapshot sebelum eksperimen besar Daripada takut-takutan coba hal baru, ambil snapshot dulu. Kalau berantakan, restore. Biaya snapshot biasanya murah (atau gratis sampai batas tertentu).

2. Monitor bandwidth kalau provider charge overage Pasang vnstat untuk track bandwidth:

apt install vnstat -y
vnstat -i eth0 --live
# Lihat summary bulanan
vnstat -m

3. Matiin service yang nggak dipakai Jangan biarkan service jalan terus kalau nggak dibutuhkan. Cek dengan:

systemctl list-units --type=service --state=running

4. Resize atau destroy kalau proyek selesai VPS development untuk proyek yang udah selesai itu pemborosan. Kalau provider support resize ke tier lebih kecil, lakuin. Kalau nggak, destroy dan buat baru kalau butuh lagi.


Yang Gue Lakuin Sekarang

Setup gue saat ini: satu VPS 4 GB RAM di Singapore (latency oke ke Indonesia) untuk staging dan testing webhook, satu VPS lebih kecil 2 GB RAM di Eropa untuk project yang nggak latency-sensitive.

Total biaya: di bawah $15/bulan. Jauh lebih murah dari waktu gue pakai managed cloud untuk hal yang sama.

Kalau kamu baru mulai dan mau beli VPS murah untuk development, rekomendasi gue simpel:

  • Budget super ketat: Contabo atau Hetzner, mulai dari spec terkecil yang ada Docker support-nya
  • Butuh latency rendah ke Indonesia: cari provider dengan datacenter Singapore atau Jakarta
  • Prioritas kemudahan: DigitalOcean dengan Droplet $6/bulan, UI-nya paling ramah untuk pemula

Setup awal memang butuh waktu 1–2 jam pertama kali. Tapi setelah itu, kamu punya environment yang stabil, bisa dikontrol penuh, dan tagihannya predictable. Nggak ada kejutan di akhir bulan.

Langkah selanjutnya: kalau kamu udah punya VPS running, coba setup CI/CD sederhana dengan GitHub Actions yang auto-deploy ke VPS kamu lewat SSH. This guide bisa membantu kamu menghindari kesalahan teknis yang umum terjadi saat setup automation. Itu yang bikin workflow development jadi jauh lebih smooth.