Virtual Machines (Mesin Virtual)
Apa itu ini
Bayangkan menyewa satu apartemen utuh, bukan sekadar kamar hotel: ruang kosong yang sepenuhnya milikmu, dan kamu yang mengisi serta menjalankannya sesuka hati. Virtual machine (, mesin virtual) adalah apartemen itu dalam bentuk perangkat lunak — sebuah komputer lengkap yang berwujud software, berjalan di atas perangkat keras milik penyedia layanan. Kamu mendapatkan sistem operasi yang sepenuhnya kamu kendalikan: kamu login, menginstal apa pun yang kamu mau, dan menjalankan aplikasimu persis seperti di mesin fisik. Ini adalah opsi hosting yang paling "turun tangan" di antara semuanya.
Kelebihan
- Kendali penuh — sistem operasi lengkap, software apa pun, konfigurasi apa pun.
- Performa yang bisa diprediksi; mesin itu sepenuhnya milikmu selama kamu menyewanya.
- Tidak ada batas waktu eksekusi atau runtime, berbeda dengan atau .
- Bisa menjalankan apa saja: , software lawas, daemon kustom, pekerjaan yang berjalan lama.
- Model yang matang dan sudah dipahami luas, dengan tooling selama puluhan tahun.
Kompromi
- Kamu yang mengurus semuanya: pembaruan OS (operating system, sistem operasi), tambalan keamanan, backup, monitoring.
- Kamu tetap membayar mesin itu baik sedang sibuk maupun menganggur.
- Penskalaan dilakukan manual — kamu sendiri yang mengubah ukuran atau menambah mesin.
- Semakin banyak bagian yang bergerak, semakin banyak pula cara sesuatu bisa rusak.
- Paling lambat untuk disiapkan (provisioning) dibandingkan functions atau .
Kapan menggunakannya
Gunakan VM ketika kamu butuh kendali penuh atau punya kebutuhan yang tidak bisa dipenuhi opsi yang lebih ringan: software khusus, state yang persisten, database yang di-hosting sendiri, beban kerja GPU (graphics-processing-unit, unit pemroses grafis), atau memigrasikan aplikasi yang sudah ada tanpa menulis ulang.
Kecocokan dengan vibe coding
VM memberi agen AI kanvas terluas, tapi juga tanggung jawab terbesar, jadi andalkan infrastructure-as-code (infrastruktur sebagai kode) ketimbang klik manual. Minta agen menulis skrip provisioning (file cloud-init atau skrip setup ) sehingga seluruh mesin bisa direproduksi dan ditinjau ulang, alih-alih mengonfigurasi server secara manual lewat SSH (Secure Shell — login jarak jauh terenkripsi ke mesin). Tip: minta agen menuliskan proses setup ke dalam satu file bootstrap tunggal dan mengaktifkan pembaruan keamanan otomatis — dengan begitu kamu bisa menghapus dan membuat ulang VM kapan saja tanpa kehilangan konfigurasimu.
#!/usr/bin/env bash
# bootstrap.sh — provision an Ubuntu VM
set -euo pipefail
apt-get update && apt-get upgrade -y
apt-get install -y nginx
systemctl enable --now nginx
# enable unattended security updates
apt-get install -y unattended-upgrades
dpkg-reconfigure -f noninteractive unattended-upgrades
# Run the bootstrap on a fresh server
scp bootstrap.sh user@my-server:/tmp/
ssh user@my-server "sudo bash /tmp/bootstrap.sh"