- Semua yang dibutuhkan aplikasi untuk dijalankan - biner, pustaka, file konfigurasi, dan dependensinya - dienkapsulasi dan diisolasi dalam penampungnya.
- Container itu sendiri dipisahkan dari OS host, dengan hanya akses terbatas ke resource yang mendasarinya - seperti mesin virtual (VM) ringan.
- Hasilnya, aplikasi dalam container dapat dijalankan di berbagai jenis infrastruktur — di bare metal, di dalam VM, dan di cloud — tanpa perlu melakukan refactor untuk setiap lingkungan.
- Di bagian bawah, terdapat perangkat keras infrastruktur yang dimaksud, termasuk CPU, penyimpanan disk, dan antarmuka jaringannya.
- Di atas itu, ada OS host dan kernelnya - yang terakhir berfungsi sebagai jembatan antara perangkat lunak OS dan perangkat keras sistem yang mendasarinya.
- Mesin kontainer dan OS tamu minimalnya, yang khusus untuk teknologi kontainerisasi yang digunakan, berada di atas OS host.
- Di bagian paling atas adalah binari dan pustaka (bins / libs) untuk setiap aplikasi dan aplikasi itu sendiri, berjalan di ruang pengguna yang terisolasi (wadah).
Cgroups dan LXC
● Jalankan perintah sebagai root.
● Dapatkan alamat IP.
Seseorang yang mem-boot container, Docker atau lainnya, dapat mengharapkan pengalaman yang sama terlepas dari lingkungan komputasi. Kumpulan wadah yang sama dapat dijalankan dan diskalakan apakah pengguna menggunakan distribusi Linux atau bahkan Microsoft Windows. Kompatibilitas lintas platform ini penting untuk ruang kerja digital saat ini, di mana pekerja mengandalkan banyak perangkat, OS, dan antarmuka untuk menyelesaikan pekerjaan.
- VM berjalan di atas hypervisor, yang merupakan perangkat keras, perangkat lunak, atau firmware khusus untuk mengoperasikan VM pada mesin host, seperti server atau laptop.
- Melalui hypervisor, setiap VM ditetapkan tidak hanya pada bin / lib penting, tetapi juga tumpukan perangkat keras tervirtualisasi termasuk CPU, penyimpanan, dan adaptor jaringan.
- Untuk menjalankan semua itu, setiap VM mengandalkan OS tamu yang lengkap. Hypervisor itu sendiri dapat dijalankan dari OS mesin host atau sebagai aplikasi bare-metal.
- Ada overhead yang signifikan yang terlibat, karena semua VM membutuhkan OS tamu dan kernel virtual mereka sendiri, ditambah kebutuhan akan lapisan ekstra yang berat (hypervisor) antara mereka dan host.
- Hypervisor juga dapat menyebabkan masalah kinerja tambahan, terutama saat dijalankan pada OS host, misalnya di Ubuntu.
- Karena keseluruhan resource overhead yang tinggi, mesin host yang mungkin dapat menjalankan 10 container atau lebih dengan nyaman dapat kesulitan untuk mendukung satu VM.
Bagaimana Container Bekerja
Implementasi containerisasi paling populer adalah Docker dan Kubernetes.

Kontainer versus Mesin Virtual
Penampung adalah abstraksi dari lapisan aplikasi (artinya setiap penampung mensimulasikan aplikasi perangkat lunak yang berbeda). Meskipun setiap penampung menjalankan proses yang terisolasi, beberapa penampung berbagi Sistem Operasi yang sama.
VM adalah abstraksi dari lapisan perangkat keras (artinya setiap VM mensimulasikan mesin fisik yang dapat menjalankan perangkat lunak). Teknologi VM dapat menggunakan satu server fisik untuk menjalankan server yang setara dengan banyak server (masing-masing disebut VM). Jadi, sementara beberapa VM berjalan pada satu mesin fisik, setiap VM memiliki salinan Sistem Operasi, aplikasi, dan file terkait, pustaka, dan dependensinya sendiri.
Menjalankan perangkat lunak di lingkungan dalam kontainer umumnya menggunakan lebih sedikit ruang dan memori daripada menjalankan perangkat lunak dalam VM yang berbeda, karena yang terakhir memerlukan salinan terpisah dari Sistem Operasi untuk dijalankan di setiap VM.
Portabilitas yang sangat baik di seluruh ruang kerja digital
Wadah membuat ide "tulis sekali, jalankan di mana saja" menjadi kenyataan. Setiap penampung telah diambil dari OS host dan akan berjalan sama di lokasi mana pun. Dengan demikian, ini dapat ditulis untuk satu lingkungan host dan kemudian di-porting dan disebarkan ke yang lain, selama host baru mendukung teknologi container dan OS yang dipermasalahkan. Kontainer Linux menyumbang sebagian besar dari semua kontainer yang diterapkan dan dapat di-porting di berbagai OS berbasis Linux baik itu di lokasi atau di cloud. Di Windows, container Linux dapat dijalankan dengan andal di dalam VM Linux atau melalui isolasi Hyper-V. Kompatibilitas seperti itu mendukung ruang kerja digital, di mana banyak awan, perangkat, dan alur kerja berpotongan.
Isolasi kesalahan untuk aplikasi dan layanan mikro
Jika satu wadah gagal, yang lain berbagi kernel OS tidak terpengaruh, berkat isolasi ruang pengguna di antara mereka. Itu menguntungkan aplikasi berbasis layanan mikro, di mana banyak komponen yang berpotensi mendukung program yang lebih besar. Layanan mikro dalam wadah tertentu dapat diperbaiki, diterapkan ulang, dan diskalakan tanpa menyebabkan waktu henti aplikasi
Pengelolaan yang lebih mudah melalui orkestrasi
Orkestrasi container melalui solusi seperti platform Kubernetes membuatnya praktis untuk mengelola aplikasi dan layanan dalam container dalam skala besar. Dengan menggunakan Kubernetes, dimungkinkan untuk mengotomatiskan peluncuran dan rollback, mengatur sistem penyimpanan, melakukan load balancing, dan memulai ulang container yang gagal. Kubernetes kompatibel dengan banyak mesin kontainer termasuk yang kompatibel dengan Docker dan OCI.
Aplikasi dan Layanan Apa yang Biasanya Dimasukkan?
Sebuah wadah dapat mendukung hampir semua jenis aplikasi yang di era sebelumnya akan secara tradisional divirtualisasikan atau dijalankan secara native di mesin. Pada saat yang sama, ada beberapa paradigma komputasi yang sangat cocok untuk containerization, termasuk:
- Layanan mikro : Arsitektur layanan mikro dapat dikonfigurasi secara efisien sebagai sekumpulan kontainer yang beroperasi bersama-sama dan berputar serta dinonaktifkan sesuai kebutuhan.
- Database : Pecahan database dapat dimasukkan ke dalam container dan setiap aplikasi diberi database khusus, bukan perlu menghubungkan semuanya ke database monolitik.
- Server web : Menjalankan server web dalam wadah hanya memerlukan beberapa input baris perintah untuk memulai, ditambah lagi, ini menghindari kebutuhan untuk menjalankan server secara langsung di host.
- Penampung dalam VM : Penampung dapat dijalankan dalam VM, biasanya untuk memaksimalkan pemanfaatan perangkat keras, berbicara dengan layanan tertentu di VM dan / atau meningkatkan keamanan.
- Citrix ADCs : ADC mengelola kinerja dan keamanan aplikasi. Saat dimasukkan ke dalam container , itu membuat layanan L4-L7 lebih mudah tersedia di lingkungan DevOps.
Bagaimana Kontainerisasi Terkait dengan Layanan Mikro dan Orkestrasi Kontainer?
Layanan mikro
Layanan mikro yang terdiri dari aplikasi dapat dikemas dan disebarkan dalam wadah dan dikelola pada infrastruktur awan yang dapat diskalakan. Manfaat utama containerization layanan mikro mencakup overhead yang minimal, penskalaan independen, dan pengelolaan yang mudah melalui orkestrator container seperti Kubernetes.
Citrix ADC dapat membantu transisi dari aplikasi berbasis monolitik ke layanan mikro . Lebih khusus lagi, ini membantu admin, pengembang, dan insinyur keandalan situs dengan masalah jaringan seperti manajemen lalu lintas dan pergeseran dari arsitektur berbasis monolitik ke layanan mikro.
Jika layanan mikro dikemas dalam wadah yang diterapkan dalam skala besar, platform orkestrasi wadah diperlukan untuk mengelola siklus hidup wadah.
Orkestrasi Penampung
Kubernetes adalah platform orkestrasi container yang paling menonjol. Awalnya dikembangkan oleh Google, ini terlihat bersumber terbuka dan sekarang dikelola oleh Cloud Native Computing Foundation.
Meskipun ini bukan satu-satunya solusi seperti itu, rangkaian fiturnya menunjukkan kemampuan orkestrator container modern, karena dapat:
- Buka wadah dengan nama DNS atau alamat IP.
- Tangani load balancing dan distribusi lalu lintas untuk kontainer.
- Pasang penyimpanan lokal dan berbasis cloud secara otomatis.
- Alokasikan sumber daya CPU dan RAM tertentu ke container, lalu paskan ke node.
- Ganti atau matikan container yang bermasalah tanpa mengganggu kinerja dan waktu kerja aplikasi.
- Kelola informasi sensitif seperti kata sandi dan token tanpa membangun kembali wadah.
- Ubah status wadah dan kembalikan wadah lama untuk menggantinya dengan yang baru.
0 komentar:
Posting Komentar