Episode ini membahas menjalankan Cloud Hypervisor di cloud publik: nested virtualization di AWS EC2 (kelas C8i/M8i/R8i sejak Februari 2026) yang memungkinkan KVM di instance reguler, plus deployment di bare-metal/on-prem dan edge nodes. Kalian belajar membangun microVM CI/CD tanpa bare-metal.

Sejauh ini kita mengasumsikan host kalian adalah bare-metal yang kalian kontrol penuh. Tapi bagaimana kalau ingin menjalankan Cloud Hypervisor di cloud publik — di mana "host" itu sendiri sudah berupa VM? Jawabannya adalah nested virtualization: menjalankan hypervisor (KVM) di dalam VM yang disediakan penyedia cloud.
Ini mengubah permainan. Sebelumnya, CI/CD microVM atau cluster Kata Containers butuh bare-metal — mahal dan tidak elastis. Dengan nested virtualization di AWS EC2 (dan penyedia lain), kalian bisa membangun platform microVM di atas instance reguler yang skalanya mengikuti permintaan.
AWS secara resmi mendukung nested virtualization pada kelas instance tertentu — termasuk C8i, M8i, dan R8i (dan kelas sejenis) sejak Februari 2026. Artinya, instance ini mengekspos flag virtualisasi (vmx/svm) ke guest, sehingga di dalam instance kalian bisa:
/dev/kvm tersedia).Verifikasi bahwa instance kalian mendukung nested virtualization:
grep -cE "(vmx|svm)" /proc/cpuinfo
ls -l /dev/kvmJika /dev/kvm tidak ada, muat modulnya:
sudo modprobe kvm_intel # atau kvm_amd untuk AMD
ls -l /dev/kvmImportant
Tidak semua instance EC2 mendukung nested virtualization, dan dukungan bisa bergantung pada jenis virtualisasi instance (Nitro vs. kelas sebelumnya). Selalu verifikasi grep -cE "(vmx|svm)" /proc/cpuinfo — jika hasilnya nol, gunakan kelas instance yang diizinkan atau bare-metal (kelas .metal).
Skenario paling menarik: runners CI/CD microVM. Alih-alih runner yang berbagi kernel host, tiap job dijalankan di Cloud Hypervisor VM tersendiri — isolasi penuh, tanpa VM yang "menempel" antar job.
cloud-hypervisor \
--kernel kernel-vmlinux \
--disk path=job.raw \
--cpus boot=2 \
--memory size=1G \
--net tap=ci0,ip=172.16.0.1,mac=a8:21:95:80:00:99 \
--cmdline "console=ttyS0 root=/dev/vda1 rw"Dengan pola ini, satu instance C8i bisa menjalankan belasan microVM CI secara paralel — menggantikan kebutuhan bare-metal untuk workload seperti ini. Kecepatan boot Cloud Hypervisor (episode 16) adalah kuncinya: job dijalankan dalam hitungan detik.
Nested virtualization punya biaya: virtualisasi berlapis menambah overhead. Ukur dengan benchmark (episode 16) berapa performa yang bisa dicapai, dan pantau metrik seperti CPU steal time:
top -b -n1 | grep -E "steal|wa"steal yang tinggi menandakan host fisik di atas kalian ikut sibuk — pertimbangkan instance yang lebih besar atau kelas berbeda.
Nested virtualization tidak gratis dan punya batas. Untuk workload yang butuh performa deterministik — HPC, workload I/O berat, atau passthrough VFIO yang butuh hardware langsung (episode 8) — bare-metal tetap pilihan utama:
/dev/kvm penuh tanpa lapisan virtualisasi tambahan.sudo ip link add br0 type bridge
sudo ip link set eno1 master br0
cloud-hypervisor \
--kernel kernel-vmlinux \
--disk path=prod.raw \
--net tap=prod0,ip=10.0.0.1,mac=a8:21:95:80:00:11 \
--cpus boot=8 \
--memory size=16GDi edge — perangkat dengan resource terbatas dan jaringan tidak stabil — Cloud Hypervisor menawarkan dua hal yang berharga:
Pola umum: node edge menjalankan Cloud Hypervisor dengan image kecil dan workload immutable, dikelola dari pusat:
cloud-hypervisor \
--kernel kernel-vmlinux \
--disk path=edge.raw,readonly=on \
--cpus boot=1 \
--memory size=512M \
--cmdline "console=ttyS0 root=/dev/vda1 ro quiet"readonly=on dan ro membuat image edge immutable — setiap reboot kembali ke kondisi semula, mengurangi risiko drift dan kompromi persisten.
Untuk production, gabungkan pola-pola ini:
Cloud publik (EC2 nested) → CI/CD microVM, Kata cluster
Bare-metal / on-prem → workload deterministik, VFIO, HPC
Edge nodes → microVM immutable, footprint kecilTip
Dimulai dari cloud publik untuk mencoba, lalu pindah ke bare-metal saat performa dan isolasi yang deterministik menjadi kebutuhan — bukan sebaliknya. Nested virtualization adalah pintu masuk yang murah untuk memahami Cloud Hypervisor sebelum berinvestasi di hardware sendiri.
/dev/kvm tidak ada: cek kelas instance, atau muat modul kvm.Inti yang harus dibawa pulang:
Di episode 20 selanjutnya kita akan menyempurnakan performa & observability — hugepages, CPU pinning/affinity, NUMA awareness, lalu log VMM, metrics, tracing, dan debugging dengan gdb. Dari "VM jalan" menuju "VM yang diukur dan dioptimalkan".