Point - point  Pembelajaran :

  • Menjelaskan perbedaan antara aplikasi kontiner dengan tradisional deployment
  • Menjelaskan dasar dari arsitektur kontainer
  • Menjelaskan manfaat dari mengatur aplikasi dan Openshift Container Platform
Traditional Application Deployment 
Aplikasi perangkat lunak biasanya satu set library( file konfigurasi ke environment yang ada ). Yang mana biasanya berisi file konfigurasi atau service lain yang di sediakan oleh lingkungan runtime. Runtimme tradisional biasanya memilki depedenci aplikasi yang masuk dalam satu bagian dari Host. kendalanya adalah shared library yang bisa merusak antara aplikasi yang di terapkan dalam Host. Contohnya jika kita akan melakukan upgrade OS dimana akan merusak library/depedency dari aplikasi yang memakainya. Jika melakukan update aplikasi pasti akan membutuhkan down time terlebih dahulu( karena harus mematikan terlebih dahulu baru menaikkan versi perubahan aplikasi yang baru ).

Apa itu Container 
Seperangkat proses atau lebih yang diisolasi dari sistem. Memiliku konsep yang sama dengan Virtual Machine hanya saja ibaratnya seperti menjalankan sebuah aplikasi, sedangkan jika VM menjalakan OS sekaligus aplikasi di dalamnya. Hal ini tentunya membuat VM membuatuhkan resource yang lebih besar karena menyedikan resource untuk VM dan juga Sistem Operasi maupun resource untuk apliaksi, sedangkan container hanya mengunakan resource dari OS hostnya.

Keuntungan Menggunakan Container
Low Hardware Footprint merupakan contoh kelebihan dari container yang menggunakan fitur OS internal, dimana idenya adalah dari cgroups( mengelompokkan menjadi kontainer - kontainer) dan namespaces(untuk membuat isolated environment).Pendekatan ini juga meminimalkan jumlah CPU dan overhead memori dibandingkan dengan hypervisor mesin virtual. Menjalankan aplikasi di VM adalah cara untuk membuat isolasi dari lingkungan yang sedang berjalan, tetapi memerlukan load yang berat.

Quick Deployment , container dapat menerapkan environment dengan cepat karena tidak perlu mengintal seluruh sistem operasi yang mendasarinya. Kernel yang digunakan oleh OS akan di share dengan container. Biasanya, untuk mendukung isolasi, penginstalan OS baru diperlukan pada host fisik atau VM, dan pembaruan sederhana apa pun mungkin memerlukan restart OS penuh. Restart kontainer tidak memerlukan penghentian layanan apa pun di OS host.

Environment Isolation , kontainer bekerja di lingkungan yang terisolasi dimana perunahan yang terjadi dalam Host Os atau aplikasi lain tidak akan mempengaruhi kontainer. Atinya antara kontainer saling terisolasi begitu juga dengan OS host.

Mutiple Environment Deployment, dalam skenario penerapan tradisional yang menggunakan satu host , perbedaaan lingkungan apapun dapat merusak apliaksi. Misal contohnya dilingkungan deployment kita sudah membangun aplikasi dan berjalan dengan baik namun pada saat kita naikkan ke production kadang masih banyak kendala seperti library atau depedency kurang atau yang lainnya. Hal ini tidak akan terjadi jika menggunakan  container karena depedency aplikasi dan juga pengaturan environment diringkas dalam satu image kontaner sehingga ketika di pindah di lingkungan manapaun tidak akan berpengaruh kareana semua yang di butuhkan sudah terbundle didalamnya.

Reusability, Seumpama menyiapkan app untuk lingkungan production dan development tidak akan sulit karena sudah terbundle dalam satu set image( aplikasi perangkat lunak dengan semua layanan yang bergantung (misal database, perpesanan, sistem file) dibuat untuk berjalan dalam satu wadah sehingga dapat digunakan kembali untuk berbagai lingkungan. Konsep microservice juga sangat cocok di terapkan karena tidak memerlukan perawatan di banyak hardware.


 

 

No comments:

Post a Comment