author photo
Deni Husni Fahri Rizal
September 04, 2020

Basic Docker untuk Para Developer

Sebelum era container khususnya docker, umumnya para software developer melakukan deploy dengan cara mem-build dahulu source code lalu melakukan deploy ke server. Sebelum melakukan deploy biasanya kita melakukan persiapan beberapa hal di sisi server.

Kita secara manual melakukan persiapan di server misalkan, setup operating sistem (os), mengistall runtime aplikasi serta mengkonfigurasinya, menginstall database, menginstall web server, mengistall beberapa library yang diperlukan, setelah itu baru kita bisa melakukan deploy aplikasi kita ke server tersebut.

Cara deployment tanpa container

Dengan menggunakan contrainer dalam hal ini docker maka proses deployment menjadi sangat berbeda. Kita di sisi server cukup menyedikan server baik fisik atau cloud dan mengistall operting sistem. Hal-hal lainya akan digabung, dikonfigurasi dan dipackage di luar server lalu dideploy.

Jadi hasil build source code, runtime app, web server, libary, dan database akan digabung dalam bentuk package oleh docker menjadi sebuah image docker lalu dideploy sekaligus ke sever yang telah kita siapkan tadi.

Cara deployment dengan container

Perlu diperhatikan bahwa image docker ini berbedaa dengan image iso. Jika image iso membutuhkan instalasi lagi sedangkan image docker tidak.

Salah satu kelebihan dari cara deploymen dengan menggunnakan docker ini yaitu apabila kita memerlukan deploy ke server lebih dari satu (deploya me banyak node) maka kita dengan mudah tinggal mendeploy image docker kita ke beberapa server sekaligus dan langsung jalan tanpa butuh waktu yang banyak dan proses yang ribet.

Pengertian Docker

Apakah dokcer itu sebuah virtual macine? Docker, bukanlah sebuah virtual macine. Docker merupakan container manager. Docker dan vm memiliki cara yang berbeda dalam hal cara mendeploy suatu aplikasi. contoh vm yang terkenal ada virtual box dan vmware.

Kita sudah sering menggunakan teknologi vm ini. Jika kita menyewa server di cloud biasanya kita meyewa sebuah vm.

Apa perbedaan antara virtual macine dengan container? Perbedaan yang sangat jelas adalah adalah vm memiliki os sendiri sendangkan container tidak memiliki os sendiri. Lebih lanjut kita akan jelaskan dengan bantuan gambar berikut.

Perbedaan vm dan container

Pada sebuah virtual machine kita akan mengistall os untuk server lalu di atasnya kita mengistall vm manager seperti virual box dan vmware. Di dalam vm manager itu kita akan membuat sistem yang tediri dari os tersendiri dan pada os tadi kita dapat mengistall apliaksi apapun yang kita inginkan.

Dengan lebih singkat kita memiliki os dalam os. Dalam satu vm manager kita dapat menginstall banyak sistem dengan os yang berbeda-beda. Para vm ini karena terdiri dari os tersendiri maka satu sistem terisolasi dengan baik dengan sistem lainnya.

Kelemahannya adalah performacne vm satu dapat berpengaruh terhadap vm lainnya karen pada vm ini kita menyewa atau menentukan jumlah memory yang dipakai. Apabila kita memiliki total 8 gega memory dan 6 gega sudah di pake oleh vm pertama maka vm lainnya hanya tersisa paling banyak 2 gega memory.

Adapun pada container, kita tidak memiliki os di atas os. Kita akan mengistall container manager dalam hal ini adalah docker dan pada container manager itu kita dapat menjalakan beberapa image. Bagusnya satu image yang di jalankan akan benar-benar terisolasi dari image lainnya. Dalam hal ini container manager telah mengisolasi satu satu sistem dengan sistem lainnya.

Kelebihan dari konsep container ini adalah kita dapat mendeploy aplikasi secara serempak ke berbagai node, performance satu sistem dengan sistem yang lain dalam satu server tidak saling mempengaruhi. Behavior satu sistem dengan sisteam lainnya akan persis sama dengan catatan menggunaka sistem operasi yang sama. Sampai saat ini sisteam operasi linux adalah sistem operasi yang paling ideal untuk menjalankan docker. Proses up dari mulai dari deployment atau restart sisteam sampai sistem up menjadi lebih cepat karena tidak ada proses booting-booting sistem operasi.

https://vmarena.com/docker-architecture-and-components/

Docker meruapkan salah saru contoh container yang sangat bagus dan memiliki perofrmance yang sangat baik. Sampai saai penulis buat artiker ini docker di baut menggunakan bahasa pemograman golang sehingga kebutuhan akan resource dari sistem sangat kecil sekali.

Dengan demikian, sistem container ini mejadi lebih terkenal dan banyak yang menggnakan karena beberapa kelebihannya yang telah dijelaskan di atas. Di artikel selanjutnya kita akan bahas bagaimana menginstall docker dan menjalankannya.

1







discuss-like Suka
icon bagikanBagikan
0 Komentar

Diskusi Populer

Top Member