Containers VS Virtual Machine
Perbedaan Containers dan VM ketika di production
Hello World
Container vs VM
Pada saat sekarang 2 hal ini sering di perbincangan mengenai perbedaan dan proses kerja nya di production, jadi disini saya itu akan memberikan sedikit gambaran mengenai perbedaan mereka
1. Virtual Machine
jika kita lihat alur kerja ketika kita
contoh : ketika kita akan membangun 2 app, app1 itu akan memiliki alur seperti ini install VM → install guest OS → install /konfigurasi depedency dari si app, jadi jika ada 2 app caranya akan sama seperti itu jika ada 3 ataupun 4 jadi cara nya akan sama kita akan selalu install guest OS baru dimana tiap OS itu akan menjalankan 1 app, jadi bisa kita bayangkan jika kita sekarang lagi bekerja di local pc kita spesifikasi 4GB ram dan pada app1 butuh 2GB dan app2 butuh 1GB kemudian merekan running bersamaan jadi pada saat itu yang tersisa hanya 1GB dan itu bisa membuat lambat dalam prosesnya.
2.Container
pada gambar kita bisa melihat bahwa tiap aplikasi itu akan jalan di container masing masing.Dengan Container akan ada beberapa perbedaan di alur kerja dan di arsitekturnya kita bisa lihat bahwa ada perbedaan dengan VM dimana tidak membutuhkan Hypervisiour jadi Docker itu akan jalan di Host OS atau memang pada dasarnya Docker itu sendiri bisa jalan di Guest OS dengan memakai VM.
Alur kerja dengan Container
contoh penggunaan : kita memiliki 2 app , pada app 1 itu memakai nodejs di app2 berbasis java, jadi ketika di production itu app1 itu akan ada atau jalan di sebuah container, dan app2 itu yang berbasis java akan jalan di container 2, jadi ketika proses pembuatannya akan lebih ringan dibandingkan dengan VM karena di Server kita kita tidak perlu install guest OS baru dan update package nya, jadi kita hanya perlu 1 OS kemudian disitu ada docker engine dan disitu kita bisa build banyak app di banyak container tergantung dengan performance nya mesin kita atau server kita, jadi jika memakai Teknologi Container jadi itu bisa lebih ringan dibandingan VM dan akan menghemat memory yang digunakan.
:-)
Nb
- container itu sendiri tidak harus jalan di Host OS, container juga bisa jalan di VM, dengan cara install sebuah guest OS baru katakan centos kemudian di centos kita konfigurasi Container
- untuk teknologi Container itu sendiri tidak harus memakai Docker ada beberapa juga container manager yang lain seperti vagrant, podman.
exit 0;