Could Computing #2

Apa sih Containerization itu?

Containerization itu sendiri adalah pendekatan dimana kita menjalankan multiple instances (containers) pada satu Operating System (OS) yang sama, dimana containers tersebut akan memiliki shared kernel.


Kelebihan dari Teknologi Docker

1.    Isolasi lingkungan terdapat pada tingkat aplikasi/ service, sehingga deployment akan lebih fleksibel per-service.

2.    Secara teknis, kontainer berbasis aplikasi dapat berjalan pada native linux host, kontainer berbasis sistem operasi, maupun virtualisasi, sehingga keunggulan dari masing-masing induk tersebut dapat diperoleh dengan cara memilih jenis induk yang ingin digunakan.

3.    Pemeliharaan sistem dapat lebih fokus per-service, misal Service C pada gambar sebelumnya terdapat pembaharuan minor dari versi 1.5.4 ke 1.5.5, namun hal tersebut cukup penting karena ada peningkatan keamanan service yang cukup krusial, kita tidak perlu melakukan merestart sistem secara menyeluruh, cukup upgrade Service C saja.

Namun tidak ada teknologi yang sempurna, semua pasti memiliki kelebihan maupun kekurangan, begitu pula dengan teknologi kontainer berbasis aplikasi ini.

Kekurangan dari Teknologi Docker

1.    Celah keamanan merupakan permasalahan yang selalu menghantui teknologi-teknologi baru, termasuk Containerization berbasis aplikasi ini.

2.    Desain dan pengembangan aplikasi berbasis kontainer ini termasuk pendekatan baru yang mungkin menyulitkan pengembang yang hendak mengimplementasikannya, karena pada proses pengembangan aplikasi hal ini dapat mempengaruhi desain arsitektur suatu sistem.

Containerization berbasis aplikasi ini sangat cocok untuk desain arsitektur sistem dengan pendekatan microservice, karena masing-masing service memiliki lingkungan yang terisolasi namun tetap dapat berkomunikasi satu sama lain. Microservice sendiri merupakan suatu pendekatan desain arsitektur sistem informasi yang menspesifikkan dan memecah fungsi dari sistem yang besar menjadi sistem atau service yang kecil dan spesifik. Sehingga diharapkan lebih mudah dalam hal perawatan dan pengembangan dari suatu service, karena tidak adanya ikatan yang terlalu kuat antara service satu dengan lainnya, adapun hanya sebatas komunikasi API yang sudah disepakati.

Beberapa vendor yang menawarkan teknologi container berbasis aplikasi antara lain Docker, Rkt (yang juga dikenal sebagai Rocket atau Rock-It), Drawbridge, dan LXD. Namun diantaranya terdapat 2 yang paling popular yaitu Docker dan Rkt. Rkt merupakan proyek yang dikembangkan oleh CoreOS dengan status masih dalam tahap pengembangan dan belum siap untuk fase produksi. Namun Rkt memiliki keunggulan yaitu dapat menjalankan image dari Docker, sehingga lebih fleksibel. Sedangkan maraknya pembahasan kontainer berbasis aplikasi yang dewasa ini diperbincangkan, utamanya karena Docker.

Selain menyediakan fitur berupa kontainer berbasis aplikasi, juga memiliki fitur dan keunggulan-keunggulan lain antara lain:

1.    Docker secara resmi menyediakan registry yang berfungsi sebagai tempat penyimpanan images docker di awan (cloud based). Namun demikian terdapat juga beberapa 3rd party vendor yang menyediakan registry untuk menyimpan image docker ini antara lain quay.io, dan Google Container Registry

2.    Image Docker dapat dibangun melalui 2 cara, menggunakan Dockerfile yaitu suatu file dengan format penulisan yaml yang dipergunakan oleh docker engine untuk menciptakan suatu image berdasarkan baris perintah dan konfigurasi yang terdapat pada file dan melalui docker-commit selayaknya melakukan commit pada Git versioning system.

3.    Terdapat sangat banyak alat bantu tambahan yang sangat membantu dan memudahkan kita dalam proses pengembangan maupun pengimplementasian suatu service ataupun aplikasi berbasis Docker, antara lain docker compose yang dapat mempermudah menjalankan beberapa docker container dengan bantuan file dengan format yaml, docker swarm yang dapat membantu manajemen docker pada multiple host, dan puluhan lainnya seperti pada link berikut  https://github.com/veggiemonk/awesome-docker.

Hampir tidak mungkin suatu teknologi ramai diperbincangkan apabila tidak memberikan manfaat atau kemudahan dalam menjawab dan atau menyelesaikan permasalahan yang ada, begitu pula dengan teknologi kontainer ini. Berikut beberapa contoh kasus atau persoalan yang dapat diselesaikan atau dipermudah dengan memanfaatkan teknologi kontainer, khususnya Docker.










Comments

Popular posts from this blog

Authorization

Mengimplementasikan Suatu Web Service Pada Xampp

Basic Query