Keunggulan Teknologi Container untuk Development

Keunggulan Teknologi Container untuk Development

Saat ini sudah banyak orang yang menggunakan atau menerapkan container pada development mereka masing-masing. Beberapa contoh development yang dapat diakses secara bebas (open source) yang turut menyediakan teknologi container adalah Kubernetes dan Docker. Kedua open source ini sangat sering digunakan oleh para developer. Di artikel ini, kamu akan mengetahui keunggulan teknologi container untuk development.

Apa Itu Container

Container diartikan sebagai alat untuk mempermudah dengan cara dikemas supaya mudah didistribusikan dari satu tempat ke tempat lain, arti kata ini secara harfiah sama dengan teknologinya sendiri.

Contoh teknisnya, misalnya kamu memiliki 2 project development A dan B. Project development A menggunakan Node.js memiliki persyaratan dengan versi 4 ke atas, kemudian project development B menggunakan Node.js yang memiliki persyaratan minimal versi 5 ke atas. Kedua project ini saja sudah berbeda environment dan agar dapat menjalankan keduanya harus ditaruh pada document root yang berbeda dan biasanya perlu konfigurasi kembali.

Namun, dengan menggunakan teknologi container seperti Docker, kamu tidak perlu repot-repot melakukan konfigurasi, karena dengan Docker kamu bisa melakukan deploy dengan teknologi container tersebut, hal ini sebenarnya sama seperti cara kerja virtualisasi.

keunggulan teknologi container container vs vm

Container pada Sistem Operasi

Container pada sistem operasi (OS) merupakan teknologi yang memungkinkan container lain di dalamnya seolah-olah memiliki sistem operasi sendiri. Contohnya, project development A memiliki persyaratan menggunakan MySQL sebagai database-nya dan project development B memiliki requirement dengan menggunakan MariaDB sebagai database-nya. Lalu aplikasi yang di dalamnya bisa dikatakan beragam, bisa Node.js ataupun Laravel. Jika memanfaatkan teknologi container ini, masing-masing aplikasi tersebut dapat menggunakan requirement-nya masing-masing secara terpisah sehingga tidak mengganggu yang lain. 

Hal ini yang dikatakan sangat mirip dengan teknologi virtualisasi. Ditambah lagi, container juga dipakai pada infrastruktur hosting dan virtual private server (VPS), karena dengan performa tinggi dan masing-masing kontainer terisolasi satu dengan yang lain.

Container pada Aplikasi

Container pada aplikasi saat ini sedang populer digunakan oleh para developer. Bagaimana tidak, salah satu container bernama Docker menawarkan teknologi container pada aplikasi, yang sebelumnya biasa digunakan pada sistem operasi. Berkat adanya Docker, muncul pula istilah Development and Operations (Devops), yaitu ketika departemen development dan departemen operations bisa sama-sama berkolaborasi mengembangkan suatu proyek.

Misalnya, saat beberapa layanan seperti MariaDB sudah terinstal di induk server atau kernel, pemanfaatan teknologi container bisa memungkinkan deployment untuk banyak proyek dengan menggunakan service yang sudah tersedia pada induk server secara efisien.

Container pada aplikasi ini sangat cocok digunakan untuk desain arsitektur seperti microservice, karena masing-masing service memiliki lingkungan yang terisolasi dan tetap bisa berkomunikasi satu sama lain.

Keunggulan Teknologi Container untuk Development Aplikasi

Platform Multi-Cloud

Salah satu manfaat container adalah portabilitas. Beberapa penyedia layanan penyimpanan cloud seperti Amazon Web Service (AWS) dan Google Compute Platform (GCP) telah mengajak Docker untuk dapat mendukung layanan yang disediakan masing-masing provider tersebut. Alhasil, saat ini container Docker dapat dijalankan dalam Amazon EC2 Instance pada AWS dan Google Compute Engine pada GCP.

Isolasi

Teknologi pada Docker memastikan bahwa aplikasi dan sumber dayanya terisolasi sendiri-sendiri dan terpisah dari container lainnya. Kamu dapat memiliki berbagai container untuk aplikasi-aplikasi yang terpisah dan dapat berjalan sepenuhnya pada stack yang sama sekali berbeda.

Keamanan

Berbicara soal keamanan, Docker memastikan bahwa aplikasi yang berjalan pada container akan disajikan secara terpisah dan penggunanya bisa mendapat akses kendali penuh atas manajemen traffic sehingga container yang berjalan pada project A, tidak dapat melihat isi atau proses yang berjalan pada container lain.

Demi meningkatkan keamanan, Docker menggunakan OS Host Mount Point yang sensitif, misalnya (‘/ proc’ dan ‘/ sys’) sebagai read-only mount point dan menggunakan file system yang copy-on-write agar memastikan kumpulan container yang berjalan pada OS tidak dapat membaca data satu sama lain.

Simpulan

Ada berbagai keunggulan teknologi container yang hadir untuk membantu kinerja Developer dan System Administrator (SysAdmin). Dampaknya, seluruh pekerjaan seperti monitoring dan manajemen infrastruktur dapat dilakukan dengan lebih efisien, cepat, dan aman. Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu!