Menguasai lapisan compute: perbedaan bare metal, VM, dan container, praktik manajemen lifecycle server, memilih spesifikasi yang tepat, serta pola server provisioning dan decommissioning yang benar

Setelah di episode 2 kita memahami arsitektur berlapis, sekarang kita turun ke lapisan paling konkret: compute. Compute adalah "otak" infrastruktur — tempat beban kerja benar-benar dieksekusi. Memilih dan mengelola compute dengan benar adalah keterampilan pertama yang membedakan infra engineer yang berpikir dari yang sekadar menjalankan perintah.
Mengapa topik ini penting? Karena sebagian besar biaya infrastruktur (dan sebagian besar downtime) berakar pada keputusan compute yang buruk: server terlalu kecil sehingga crash saat traffic naik, atau terlalu besar sehingga membuang uang bertahun-tahun. Episode ini membekali kalian kerangka memilih, menyediakan, dan mematikan server secara profesional.
Server fisik yang dipakai langsung tanpa virtualisasi. Cocok untuk beban yang butuh performa penuh (database besar, GPU/AI, aplikasi latency-critical) atau regulasi yang menuntut isolasi keras.
| Kelebihan | Kekurangan |
|---|---|
| Performa maksimal, nol overhead | Ops manual, tidak portabel |
| Kontrol penuh atas hardware | Provisioning lambat (order fisik) |
| Isolasi kuat | Under-utilisasi jika tidak penuh |
Hypervisor membagi satu host fisik menjadi banyak VM. Standar industri untuk sebagian besar beban kerja karena isolasi dan portability-nya. VM punya overhead kecil (2-5%) tetapi memberi fleksibilitas yang sangat besar.
Bukan virtualisasi hardware — ia mengisolasi proses dan memakai kernel host yang sama. Hasilnya: jauh lebih ringan, boot hitungan detik, dan cocok untuk arsitektur microservice. Kekurangannya: isolasi lebih lemah, dan kalian tidak bisa menjalankan container dengan kernel berbeda.
Aturan praktis pemilihan:
| Beban Kerja | Pilihan Utama | Alasan |
|---|---|---|
| Database besar | Bare metal atau VM besar | I/O dan memori stabil |
| Web/API biasa | VM atau container | Skalabel, mudah diganti |
| Microservices | Container | Ringan, cepat deploy |
| GPU/AI training | Bare metal GPU | Perlu kontrol hardware penuh |
| Regulasi ketat | Bare metal atau VM dedicated | Isolasi & audit |
Server yang baik adalah server yang lahir dari kode, hidup terpantau, dan mati terotomasi. Siklusnya:
Server dibuat dari template/IaC — bukan manual. Di episode 8 kita otomasi penuh dengan Terraform. Untuk lab, buat VM dari template Proxmox/KVM agar konsisten:
qm clone 9000 101 --name web-01 --fullSetelah server ada, konfigurasi OS-nya: hostname, user, firewall, SSH hardening, timezone, dan paket dasar. Ini ranah Ansible (episode 8), tapi di lab bisa manual:
hostnamectl set-hostname web-01
timedatectl set-timezone Asia/Jakarta
apt update && apt upgrade -yServer yang hidup wajib terpantau: CPU, memory, disk, network, dan uptime. Mulai dari yang sederhana:
uptime
free -h
df -h
mpstatKita bangun monitoring penuh dengan Prometheus/Grafana di episode 9.
Update keamanan adalah kewajiban berkala, bukan acara dadakan. Praktik standar: patch window terjadwal (misal bulanan), staging dulu sebelum produksi, dan rollback plan jika update merusak aplikasi.
Server yang tidak lagi dipakai harus dihapus, bukan ditinggalkan. Server zombie memakan biaya, risiko keamanan, dan membingungkan audit. Checklist decommission:
1. Konfirmasi tidak ada beban yang bergantung padanya
2. Hentikan layanan & matikan server
3. Pindahkan/last backup data penting
4. Hapus dari DNS, monitoring, dan inventory
5. Hapus config IaC/Ansible yang merujuknya
6. Hapus VM / format diskKesalahan paling umum pemula: menebak spesifikasi. Pendekatan yang benar adalah ukuran berbasis pengukuran:
Contoh perhitungan sederhana untuk web server:
Traffic puncak : 5.000 request/detik
CPU per request : 0,1 core-detik
Kebutuhan CPU : 5.000 × 0,1 = 500 core-detik/detik = 500 core?? Tunggu — perhitungan itu salah. Contoh yang benar: jika 1 request butuh 10ms CPU dan ada 5.000 req/detik, total CPU = 50 core-detik per detik = 50 core. Artinya butuh ~50 core, atau 2-3 server besar. Pelajaran di sini: hitung, jangan menebak, dan selalu konfirmasi dengan pengukuran nyata — asumsi selalu menipu.
Warning
Jangan pernah mempercayai angka spesifikasi dari vendor secara mentah. Benchmark di lingkungan kalian sendiri. Hardware yang sama bisa menghasilkan performa sangat berbeda tergantung workload (I/O acak vs sekuensial, thread contention, NUMA locality).
Pada episode 3 ini kalian telah menguasai fondasi lapisan compute:
Di episode 4 selanjutnya kita pindah ke lapisan penyimpanan: storage architecture — perbedaan block/file/object storage, RAID, dan storage protocol seperti iSCSI dan NFS. Sampai jumpa di episode 4!