Materi
Virtualisasi memungkinkan satu komputer fisik menjalankan beberapa mesin virtual (VM). Lapisan yang mengaturnya disebut hypervisor, dan NIST SP 800-125 mencatat virtualisasi penuh dipakai untuk efisiensi operasional seperti di komputasi awan. Setiap VM menjalankan sistem operasi lengkap beserta kernelnya sendiri, sehingga bisa menjalankan hampir semua sistem operasi, terisolasi kuat dari host dan VM lain, tetapi memakan lebih banyak prosesor, memori, dan penyimpanan.
Kontainer adalah wadah terisolasi yang ringan untuk menjalankan aplikasi di atas kernel sistem operasi host. NIST SP 800-190 menggolongkannya sebagai virtualisasi tingkat sistem operasi yang digabung dengan pengemasan aplikasi. Kontainer hanya membawa aplikasi, dependensinya, dan bagian mode-pengguna sistem operasi, sehingga hemat sumber daya dan mudah dipindah. Konsekuensinya, kontainer harus cocok dengan sistem operasi host, dan batas isolasinya tidak sekuat VM. Banyak penerapan kontainer di awan justru berjalan di dalam VM.
Bila satu node gagal, orkestrator kontainer membuat ulang kontainernya di node lain; VM yang gagal di-failover dengan sistem operasinya dinyalakan ulang di server lain. Pembaruan sistem operasi kontainer dilakukan dengan membangun ulang image-nya, bukan menambal tiap kontainer.
Contoh model memori (angka karangan)
Host 32 GB, 2 GB untuk host. Sisa 30 GB.
VM: OS tamu 2 GB + aplikasi 1 GB = 3 GB -> 30 ÷ 3 = 10 aplikasi
Kontainer: aplikasi 1 GB (kernel host dipakai bersama) -> 30 ÷ 1 = 30 aplikasi