Apa itu kontainer Linux?

Dua orang di kantor, menunjuk ke layar komputer.

Penyusun

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Apa itu kontainer Linux?

Kontainer Linux (LXCs) adalah jenis kontainer yang didasarkan pada sistem operasi Linux. Mereka berisi semua file yang diperlukan untuk menjalankan proses atau proses tertentu di berbagai lingkungan komputasi dan jalur pipa yang berbeda.

Saat ini, kontainer Linux adalah alat penting dalam pengembangan perangkat lunak modern, memungkinkan aplikasi untuk dengan mudah dikemas bersama dengan semua dependensinya. Banyak aplikasi modern, seperti Docker, Kubernetes, Red Hat OpenShift, Microsoft Azure dan lainnya, menggunakan kontainer Linux karena fitur efisiensi, portabilitas, dan keamanannya yang lebih baik.

Seperti semua aplikasi dan perangkat lunak lain yang dibangun di Linux, kontainer Linux adalah sumber terbuka, yang berarti kode sumbernya gratis dan tersedia untuk siapa saja untuk digunakan. Kontainer Linux dan fitur-fiturnya merupakan bagian dari distribusi Linux yang dipelihara dan diperbarui oleh komunitas pengembang global.

Apa itu Linux?

Linux adalah salah satu sistem operasi sumber terbuka (OS) paling populer di dunia. Diciptakan pada tahun 1991 oleh Linus Torvalds, Linux dengan cepat menjadi alternatif yang banyak digunakan untuk sistem operasi berpemilik, seperti Windows dan macOS. OS Linux didasarkan pada kernel Linux, sebuah program komputer yang memberi pengguna kendali atas komponen sistem komputer, seperti jaringan, penggunaan CPU, driver, sistem file, dan banyak lagi.

Dalam tahun-tahun sejak penemuannya, kernel Linux telah menjadi penting untuk distribusi Linux, yang merupakan versi sumber terbuka dari OS Linux yang secara teratur dirilis ke pengguna. Hari ini, Linux memberdayakan berbagai perangkat modern dan aplikasi dan digunakan oleh beberapa perusahaan teknologi, perangkat lunak, dan komputasi terbesar di dunia.  

Apa itu kontainer?

Kontainer adalah unit perangkat lunak yang dapat dieksekusi yang berisi kode aplikasi bersama dengan pustaka dan dependensi kode tersebut, yang memungkinkan kode untuk berjalan di berbagai ekosistem. Kontainer mengandalkan banyak komponen untuk fungsionalitasnya. Misalnya, file biner adalah komponen untuk fungsionalitas kontainer, yang memungkinkan file individual dan aplikasinya berjalan di lingkungan komputasi apa pun.

Kontainer memanfaatkan bentuk virtualisasi sistem operasi di mana fitur kernel OS digunakan untuk mengisolasi proses dan mengontrol jumlah CPU, memori, dan ruang disk yang dapat diakses aplikasi. Kontainer lebih portabel dan hemat sumber daya daripada mesin virtual (VM) dan telah menjadi penting dalam aplikasi cloud-native modern, seperti Netflix, Spotify, AirBnb, dan banyak lagi.

Berita teknologi terbaru, didukung oleh insight dari pakar

Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan disediakan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM® kami untuk informasi lebih lanjut.

Bagaimana cara kerja kontainer Linux?

Kontainer Linux menjalankan aplikasi di lingkungan terisolasi pada sistem host tunggal yang menggunakan Linux sebagai OS-nya. Di jantung fungsionalitas kontainer Linux adalah baris perintah, juga dikenal sebagai shell, yang memberi pengguna antarmuka berbasis teks yang mengontrol sistem Linux.

Kontainer Linux versus mesin virtual (VM)

Kontainer Linux mirip dengan mesin virtual (VM) karena keduanya merupakan metode virtualisasi yang banyak digunakan yang mendukung komputasi cloud dan distribusi sebagian besar aplikasi bisnis modern. Namun, ada beberapa perbedaan penting yang perlu diperhatikan.

Sementara VM memvirtualisasi perangkat keras dan infrastruktur TI, kontainer Linux hanya memvirtualisasi OS sistem, menjadikannya opsi yang lebih ringan dan portabel untuk menjalankan aplikasi. Juga, metode virtualisasi yang diandalkan oleh VM dan kontainer Linux sedikit berbeda. Dalam VM, sebuah komponen perangkat lunak yang disebut hypervisor menyediakan isolasi sumber daya yang diperlukan untuk virtualisasi; dalam sebuah kontainer Linux, ini dicapai melalui gambar kontainer.

Lima fitur utama fungsionalitas kontainer Linux

Kelima fitur utama dari kontainer Linux memungkinkan fungsionalitas uniknya.

1. Berbagi kernel

VM harus memiliki OS dan kernel sendiri agar berfungsi. Namun, kontainer dapat memanfaatkan kernel Linux dari OS host yang mereka jalankan, membuatnya lebih ringan dan lebih cepat untuk di-boot dan dijalankan daripada VM.

2. Namespace

Isolasi kontainer Linux memanfaatkan fitur kernel Linux yang disebut ruang nama kernel Linux yang memungkinkan sumber daya tertentu diisolasi untuk proses yang berbeda. Misalnya, namespaces ID proses (namespaces PID) digunakan untuk mengisolasi proses dalam kontainer yang sama sehingga tidak saling memengaruhi.

3. Cgroups

Cgroups, singkatan dari control group, adalah alat bantu manajemen sumber daya yang memungkinkan pengguna mengelompokkan proses secara hierarkis dan kemudian mengontrol sumber daya yang dapat mereka akses. Misalnya, daemon (proses yang mengontrol siklus hidup kontainer) sering dikendalikan oleh cgroups.

4. Gambar kontainer

Gambar kontainer adalah paket perangkat lunak yang berisi semua yang diperlukan untuk menjalankan aplikasi, termasuk kode, waktu proses, pustaka sistem, dan alat sistem. Gambar kontainer membuat aplikasi yang didukungnya menjadi sangat dapat diskalakan dan mampu berjalan di lingkungan apa pun tanpa pengaturan manual.

5. Waktu proses kontainer

Waktu proses kontainer adalah perangkat lunak yang memungkinkan kontainer berfungsi dalam sistem host, seperti Linux. Waktu proses kontainer digunakan untuk mengelola siklus hidup kontainer. Menggunakan antarmuka pemrograman aplikasi (API) yang memungkinkan aplikasi untuk berkomunikasi dengan aplikasi lain, waktu proses kontainer bertindak sebagai perantara antara orkestra kontainer, seperti Kubernetes, yang mengelola aplikasi kontainer dan sistem host yang menjalankannya.

IBM DevOps

Apa itu DevOps?

Andrea Crawford menjelaskan apa itu DevOps, nilai DevOps, dan cara praktik serta alat DevOps membantu Anda memproses aplikasi Anda melalui seluruh delivery pipeline, dari ide hingga produksi. Dipimpin oleh para pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu para pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Evolusi kontainerisasi

Konsep kontainerisasi telah ada sejak tahun 1970-an, ketika Unix memperkenalkan sistem yang dikenal sebagai chroot. Unix, OS populer, memungkinkan pengguna untuk mengontrol sumber daya perangkat keras dan perangkat lunak pada komputer atau perangkat elektronik. Chroot sangat unik karena memungkinkan isolasi proses pada sebuah sistem, sesuatu yang sangat penting untuk teknologi kontainer.

Sementara teknologi lain (misalnya, AIX Workload Partitions dan penjara FreeBSD) telah menawarkan isolasi proses dan virtualisasi sistem yang serupa dengan kontainer yang sedang berjalan, tidak ada yang mencapai penggunaan luas sebanyak itu. Pada tahun 2013, diperkenalkannya Docker, platform manajemen kontainer sumber terbuka, supercharged kontainer mendominasi di ekosistem aplikasi modern, membuatnya lebih mudah untuk membuat, mengelola, dan menerapkan kontainer daripada sebelumnya.

Dominasi pasar kontainer di pasar aplikasi modern tidak dapat dilebih-lebihkan, terutama untuk aplikasi cloud-native dan microservices. Menurut laporan baru-baru ini, pasar global untuk kontainer diperkirakan mencapai USD 5,85 miliar tahun lalu. Diperkirakan akan tumbuh pada tingkat pertumbuhan tahunan gabungan (CAGR) sebesar 33% selama 5 tahun ke depan.1

Kontainer aplikasi dan kontainer Linux (LXC)

Kontainer aplikasi adalah kontainer yang menjalankan proses dan beban kerja tunggal, yang memungkinkan pengguna untuk membuat dan menghapus kontainer tanpa memengaruhi proses lain atau fungsionalitas aplikasi. Kontainer aplikasi (dan khususnya Docker) sangat penting dalam memungkinkan aplikasi yang sangat diandalkan oleh banyak pengguna saat ini—seperti Facebook, MS Word, Zoom, dan lainnya—untuk berkembang pesat. Meskipun ada teknologi kernel Linux sumber terbuka yang lebih baru, seperti Ubuntu dan system-nspawn, kontainer Linux masih banyak digunakan dan memiliki banyak manfaat.

Manfaat kontainer Linux

Sebagai proyek sumber terbuka, kontainer Linux terus berkembang, dibentuk oleh komunitas pengembang global yang terus-menerus menambahkan fitur dan meningkatkan fungsionalitas dan pengalaman pengguna. Berikut adalah beberapa manfaatnya yang paling populer:

  • Berbagi sumber daya: Tidak seperti VM yang membutuhkan instance OS terpisah lain untuk berfungsi, kontainer Linux berbagi kernel sistem host, membuatnya lebih efisien dan portabel di banyak lingkungan komputasi.
  • Integrasi Linux: Karena integrasi Linux dengan kernel Linux, kontainer Linux tetap dekat dengan Linux OS, memungkinkan penggunaan Resources yang lebih efisien daripada dengan Teknologi virtualisasi lainnya, seperti VM dan hypervisor.
  • Penyediaan sesuai permintaan dan penskalaan otomatis: Waktu boot kontainer Linux yang singkat dan persyaratan sumber daya yang rendah menjadikannya ideal untuk penyediaan sesuai permintaan dan penskalaan otomatis—kemampuan utama lingkungan cloud dan hybrid cloud.
  • Peningkatan keamanan: Kontainer Linux menawarkan fitur keamanan yang ditingkatkan melalui isolasi dan kontrol sumber daya. Modul keamanan khusus tugas juga tersedia untuk masing-masing proses Linux yang dirilis dan diperbarui pada distribusi Linux. Salah satu contohnya adalah AppArmor, modul keamanan kernel Linux yang membatasi bagaimana proses dapat berjalan di dalam kontainer.
  • Mengurangi overhead: Kontainer Linux memaksimalkan pemanfaatan sumber daya dan skalabilitas dengan memungkinkan beberapa kontainer berjalan pada satu sistem host dan OS sekaligus. Aspek kontainer Linux ini secara signifikan mengurangi overhead menjalankan sistem operasi simultan, persyaratan banyak teknologi virtualisasi lainnya.
  • Peningkatan orkestrasi: Orkestrasi kontainer (sering melalui Kubernetes) mengotomatiskan proses manajemen kontainer Linux seperti penerapan dan penskalaan. Kontainer Linux menyediakan kontrol granular atas manajemen kontainer, sehingga memudahkan pengembang untuk mengoordinasikan dan mengelola penerapan aplikasi kontainer skala besar.

Contoh penggunaan kontainer Linux

Karena banyak fitur dan manfaat serta keberhasilan model distribusi sumber terbuka Linux, kontainer Linux diterapkan di banyak industri dan memiliki banyak contoh penggunaan. Berikut adalah beberapa yang paling populer.

Arsitektur layanan mikro

Arsitektur layanan mikro adalah pendekatan arsitektur cloud-native untuk pengembangan perangkat lunak di mana satu aplikasi dibangun dari komponen yang lebih kecil dan independen,saat ini, pendekatan layanan mikro banyak digunakan di banyak lingkungan pengembangan perangkat lunak karena kecepatan, skalabilitas, dan fleksibilitasnya.

Kontainer Linux sangat ideal untuk arsitektur layanan mikro, sehingga memudahkan pengembang untuk menerapkan layanan mikro individu yang dapat dihubungkan bersama untuk membuat aplikasi yang besar dan kompleks.

DevOps dan CI/CD

DevOps dan integrasi berkelanjutan/pengiriman berkelanjutan (CI/CD ) adalah seperangkat praktik yang digunakan oleh pengembang perangkat lunak untuk mengotomatiskan pengembangan dan pengiriman perangkat lunak.

Kontainer Linux meningkatkan DevOps dan CI/CD dalam beberapa cara penting. Pertama, kontainer Linux membantu memastikan konsistensi lingkungan produksi di seluruh pipeline CI/CD sehingga pada saat perangkat lunak dirilis, berfungsi sebagaimana dimaksud. 

Kedua, mereka mengotomatiskan tugas-tugas dalam membangun, menguji, dan menerapkan aplikasi, membantu pengembang menghemat waktu dan sumber daya. Akhirnya, kontainer Linux lebih ringan daripada jenis virtualisasi lainnya, yang membantu tim DevOps menurunkan biaya infrastruktur TI yang mereka butuhkan untuk memenuhi tenggat waktu mereka.

Lingkungan hybrid dan multicloud

Sebagian besar perusahaan modern perlu menerapkan aplikasi bisnis inti mereka di seluruh campuran platform cloud privat dan publik, sebuah pendekatan yang dikenal sebagai arsitektur hybrid cloud.

Kontainer Linux ideal untuk lingkungan hybrid cloud yang memadukan awan publik dan pribadi karena portabilitas dan pemanfaatan sumber dayanya. Kontainer Linux dapat membantu meningkatkan efisiensi di lingkungan hybrid cloud, secara signifikan meningkatkan kinerja aplikasi, dan meminimalkan biaya operasional.

Modernisasi aplikasi

Sebagai bagian dari inisiatif transformasi digital yang sedang berlangsung, banyak perusahaan perlu mengembangkan dan meningkatkan cara aplikasi mereka berfungsi, terus-menerus mencari teknologi dan alat baru yang dapat memberi mereka keuntungan pasar.

Menurut IBM® Institute of Business Value, 83% eksekutif telah menjadikan memodernisasi aplikasi mereka sebagai pusat dari strategi bisnis mereka. Kontainer Linux mempercepat upaya ini dengan mengambil aplikasi yang dibangun di atas kode dan infrastruktur lama dan mengisolasi dependensi dan persyaratan mereka sehingga mereka dapat dengan mudah dan efektif diterapkan di lingkungan modern.

Solusi terkait
IBM Instana Observability

Memanfaatkan kekuatan AI dan otomatisasi untuk memecahkan masalah secara proaktif di seluruh tumpukan aplikasi.

Jelajahi IBM Instana Observability
Solusi DevOps

Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.

Jelajahi solusi DevOps
Layanan konsultasi cloud

Percepat ketangkasan dan pertumbuhan bisnis — terus modernisasi aplikasi Anda di platform apa pun menggunakan layanan konsultasi cloud kami.

Jelajahi layanan konsultasi cloud
Ambil langkah selanjutnya

Dari deteksi masalah proaktif dengan IBM Instana® hingga insight real-time di seluruh tumpukan, Anda dapat menjaga aplikasi cloud-native tetap berjalan dengan andal.

Temukan IBM Instana Jelajahi solusi DevOps
Catatan kaki

1. Ukuran dan tren pasar aplikasi (2024), Grandview Research, 2024