Container VS VM (Virtual Machine)

Thoriq Azzam
Core Network Laboratory Tech Page
3 min readSep 22, 2018

Hai guys, perkenalkan saya Ahmad Thoriq Azzam hari ini saya mau berbagi ilmu mengenai perbedaan container dan virtual machine.

sebelum menjelaskan mengenai perbedaan dari container dan VM saya ingin menjelaskan dulu mengenai tehnologi virtualisasi sebagai dasar dari VM dan container. menurut Technopedia virtualisasi adalah sebuah proses pembuatan sesuatu yang awalnya berbentuk fisik menjadi berbentuk software atau virtual. misalnya sebuah sistem operasi, server dan alat penyimpanan dan perangkat jaringan. software yang digunakan untuk virtualisasi dinamakan hypervisor. software ini digunakan untuk membuat dan mengatur virtual machine.

Selain itu, hypervisor juga dapat berperan sebagai agen penghubung antara VM dengan perangkat fisik. Hypervisor dibagi menjadi dua jenis yaitu hypervisor tipe 1, tipe ini berjalan langsung diatas perangkat keras dan hypervisor tipe 2, tipe ini berjalan diatas host os contoh dari tipe ini adalah oracle virtualbox dan vmware workstation sedangkan untuk tipe 1 adalah vsphere dan citrix xen server. Hypervisor dapat menjalankan perangkat lunak apa pun yang berjalan pada perangkat keras bare metal sementara menyediakan isolasi dari perangkat keras yang sebenarnya.

lalu apa itu virtual machine? VM (virtual machine) merupakan sebuah sistem operasi atau aplikasi yang diinstall pada hypervisor dan memiliki fungsi layaknya perangkat fisik (hardware) atau bisa juga disebut sebagai duplikat dari komputer asli. Nah sudah cukup jelas kan? Penegertian dari VM kemudian saya akan menjelaskan apa sih container itu? Container merupakan suatu teknik yang dapat digunakan untuk menciptakan sistem yang terisolasi (isolated environment) pada level OS yang dijalankan pada satu induk linux kernel (host).

image from: http://docs.geonode.org docker container platform

Konsep teknologi container sama seperti kontainer pengiriman dalam transportasi antar moda. konsepnya adalah bahwa sebelum kontainer melakukan pengiriman, produsen harus siap untuk mengirimkan barang dalam berbagai mode seperti kapal, kereta api, atau truk — dengan wadah dan kemasan berukuran berbeda. Dengan menstandarisasi kontainer pengiriman, barang dapat dipindahkan secara mulus di antara metode pengiriman tanpa persiapan tambahan. Kontainer Linux Docker menggunakan konsep yang sama dengan menggunakan software.

Container yang paling banyak digunakan dalam enterprise adalah docker. Momentum dan hype seputar evolusi Docker telah mendorong tehnologi container banyak dikembangkan dalam dua tahun terakhir. Docker sebagai penyedia software container berbasis Linux merupakan container open source yang pertama kali diperkenalkan pada tahun 2013.

Container VS VM

Apa perbedaan dari container dan VM? Yang pertama bisa kita bisa lihat dari perbedaan arsitekturnya seperti gambar diatas. Pada virtual machines terdapat Hypervisor pada arsitekturnya dan blok VM terdiri dari app, file lib dan binary serta seluruh bagian guest operating system. Sedangkan pada arsitektur container terdapat docker engine yang digunakan untuk menjalankan docker container serta pada container terdiri dari app dan semua dependasinya namun berbeda dengan VM, container saling berbagi kernel host operating system dengan container yang lain. hal inilah yang mengakibatkan container memiliki ukuran yang lebih kecil jika dibandingkan dengan VM.

Selain itu, dikarenakan container saling berbagi kernel maka container tidak memiliki hak untuk mengakses kernel berbeda dengan VM yang memiliki kernel sendiri sehingga bisa dengan bebas mengaksesnya. Lalu apa itu kernel? Mengapa dia begitu penting? Menurut website linux info kernel merupakan program komputer yang menjadi inti dari sebuah sistem operasi komputer, dengan kontrol terhadap segala hal atas sistem tersebut. Pada kebanyakan sistem, kernel merupakan salah satu dari program yang dijalankan dalam urutan pertama saat komputer dinyalakan. Kernel menangani fungsi-fungsi selanjutnya atas proses penyiapan komputer dari sejak komputer dinyalakan seperti menangani layanan input/output dari program lain, menerjemahkanya ke dalam instruksi-instruksi untuk dieksekusi oleh prosesor. Tadi sudah dijelaskan perbedaan container dengan VM lalu persamaannya apa ya? Persamaannya adalah kedua tehnologi tersebut berjalan dengan menggunakan virtualisasi.

Nah seperti itulah pembahasan singkat mengenai container dan VM. jika ada saran atau komentar bisa ditulis di kolom komentar di bawah terima kasih sudah membaca semoga bermanfaat sampai jumpa :)

Daftar Referensi:

· https://www.sdxcentral.com/cloud/containers/definitions/what-are-containers-like-docker-linux-containers/

· https://www.cloudmatika.co.id/2017/06/17/perbedaan-antara-vm-virtual-machine-dengan-container/

· https://www.sdxcentral.com/cloud/containers/definitions/containers-vs-vms/

· https://blog.netapp.com/blogs/containers-vs-vms/

· http://www.linfo.org/kernel.html

--

--

Thoriq Azzam
Core Network Laboratory Tech Page

Student at Telkom University. passionate at learning network computer and software development