IT

Docker dan VM , Mana yang Lebih Unggul ?

Share it:

Seperti layaknya VM (Virtual Machine), docker juga menggunakan virtualisasi hanya saja berbeda level virtualisasinya. VM menggunakan level virtualisasi hardware sedangkan docker menggunakan level virtualisasi sistem operasi, dimana docker membagi OS kernel sedangkan VM membaginya di hardware, hal ini lah yang menyebabkan docker terlihat lebih efisien daripada  menggunakan VM. Lebih jelasnya seperti gambar dibawah ini.




Arsitektur VM menggunakan hypervisor untuk menampung guest OS dimana setiap guest OS bisa berbeda library/binaries untuk menjalankan suatu aplikasi. Sedangkan arsitektur Docker menggunakan kernel linux sebagai container bagi library/binaries untuk menjalankan suatu aplikasi namun tetap berada di lingkungan yang terisolasi juga dependensi tersendiri.

Tergantung kebutuhan

Karena VM memiliki guest OS sendiri - sendiri maka tidak heran VM jauh lebih berat pengoperasiannya daripada docker, namun docker hanya cocok bila aplikasi/server yang dijalankan berada di OS kernel yang sama jika aplikasi / server membutuhkan OS yang berbeda maka VM adalah solusinya.


Sekuriti

VM tidak membagi operating systemnya yang artinya isolasi dalam pengoperasiannya akan lebih aman dibandingkan docker. Container pada docker  yang membagi host kernel bisa saja terserang hacker apabila salah satu aplikasi / server nya pun juga ikut terserang.


Portable

Docker mudah diaplikasikan dibanding VM karena tidak memiliki sistem operasi terpisah. Container dapat di-porting ke OS yang berbeda, dan dapat segera diimplementasikan. Di sisi lain,VM yang memiliki OS terpisah membuat porting mesin virtual lebih sulit dibandingkan dengan ceontainer pada docker.

Untuk tujuan pengembangan / pnelitian  di mana aplikasi harus diuji di berbagai platform dengan mudah,  Docker adalah pilihan ideal.


Performa

Membandingkan VM dan Docker  secara performa akan tidak adil karena keduanya digunakan untuk tujuan yang berbeda. Tetapi docker dengan arsitektur yang ringan, fiturnya yang lebih sedikit, resource yang intensif  membuat docker menjadi pilihan daripada VM dimana docker memungkinkan scaling up dan duplikasi container tanpa harus instalasi OS lagi.


Berikut head to head antara VM dan Docker


Virtual MachineDocker Container
Hardware-level process isolationOS level process isolation
Each VM has a separate OSEach container can share OS
Boots in minutesBoots in seconds
VMs are of few GBsContainers are lightweight (KBs/MBs)
Ready-made VMs are difficult to findPre-built docker containers are easily available
VMs can move to new host easilyContainers are destroyed and re-created rather than moving
Creating VM takes a relatively longer timeContainers can be created in seconds
More resource usageLess resource usage


Share it:

IT

Post A Comment:

0 comments: