Dunia kontainerisasi sedang bergolak dengan perdebatan mengenai perbezaan asas antara bekas sistem dan bekas aplikasi, yang dicetuskan oleh dokumentasi terkini daripada projek Incus . Walaupun bahan rasmi cuba menarik garis yang jelas antara teknologi-teknologi ini, komuniti pembangun menolak beberapa dakwaan utama.
Garisan Kabur Antara Jenis-jenis Bekas
Perbezaan tradisional antara bekas sistem dan bekas aplikasi sedang menghadapi penelitian serius daripada pembangun yang berhujah bahawa kategori-kategori tersebut lebih kepada pemasaran berbanding realiti teknikal. Pengkritik menunjukkan bahawa anda benar-benar boleh menjalankan sistem pengendalian penuh dalam bekas Docker , lengkap dengan sistem init dan berbilang pengguna. Begitu juga, bekas LXC boleh menghos aplikasi tunggal dengan berkesan seperti Docker .
Fleksibiliti ini mencabar pengkategorian yang kemas yang dibentangkan oleh banyak sumber dokumentasi. Realitinya ialah kedua-dua teknologi menggunakan ciri kernel Linux asas yang serupa seperti ruang nama dan cgroups untuk pengasingan.
Nota: Ruang nama menyediakan pengasingan proses, manakala cgroups mengawal peruntukan sumber seperti penggunaan CPU dan memori.
Perbandingan Jenis Bekas
Ciri | Mesin Maya | Bekas Sistem | Bekas Aplikasi |
---|---|---|---|
Penggunaan Kernel | Kernel khusus | Berkongsi kernel hos | Berkongsi kernel hos |
Sokongan OS | Pelbagai jenis OS | Linux sahaja | Linux sahaja |
Penggunaan Sumber | Lebih tinggi | Lebih rendah | Lebih rendah |
Keperluan Perkakasan | Sokongan virtualisasi | Perisian sahaja | Perisian sahaja |
Pengehosan Aplikasi | Pelbagai aplikasi | Pelbagai aplikasi | Secara tradisinya aplikasi tunggal |
Alatan Utama | Incus , VMware , QEMU | Incus , LXC | Docker , Podman |
Teater Keselamatan atau Perlindungan Sebenar
Salah satu topik paling hangat dalam perbincangan berpusat pada dakwaan keselamatan. Ramai pembangun menyatakan keraguan sama ada bekas sistem menawarkan kelebihan keselamatan yang bermakna berbanding bekas aplikasi. Isu teras kekal bahawa kedua-duanya berkongsi kernel hos, mewujudkan permukaan serangan yang besar.
Seperti yang dikatakan oleh seorang pembangun: Bekas hanya memanfaatkan teknik pengasingan ruang nama Linux sedia ada untuk mengasingkan aplikasi. Cara yang baik untuk memikirkannya ialah ia bertindak seperti penutup mata pada kuda.
Konsensus di kalangan pembangun yang berfokus keselamatan ialah pengasingan sebenar memerlukan virtualisasi perkakasan atau penyelesaian khusus seperti gVisor dan Firecracker . API kernel Linux telah terbukti sangat sukar untuk diamankan, walaupun terdapat usaha berterusan.
Komponen Teknikal Utama
Ciri-ciri Kernel Linux yang Digunakan oleh Bekas:
- Namespaces: Menyediakan pengasingan proses (PID, rangkaian, sistem fail)
- Cgroups: Mengawal peruntukan sumber dan had
- SECCOMP: Penapisan panggilan sistem untuk keselamatan
- Capabilities: Kawalan keistimewaan yang terperinci
- Network namespaces: Pengasingan tindanan rangkaian
Ketepatan Dokumentasi Diserang
Komuniti telah mengenal pasti beberapa kesilapan fakta dalam dokumentasi bekas semasa. Dakwaan bahawa bekas aplikasi hanya boleh menghos aplikasi tunggal mengabaikan realiti bahawa bekas Docker kerap menjalankan berbilang proses. Begitu juga, kenyataan mengenai sokongan Linux sahaja mengabaikan bekas Windows sepenuhnya.
Ketidaktepatan ini menyerlahkan isu yang lebih luas tentang bagaimana teknologi bekas dipasarkan berbanding cara ia sebenarnya berfungsi. Pembangun menggesa ketepatan teknikal yang lebih tinggi dalam dokumentasi, terutamanya apabila melibatkan dakwaan keselamatan dan penerangan keupayaan.
Realiti Praktikal
Walaupun terdapat perdebatan hangat mengenai definisi, ramai pembangun mendapati nilai praktikal dalam alat seperti Incus untuk kes penggunaan tertentu. Keupayaan untuk menguruskan mesin maya dengan arahan seperti bekas menarik minat mereka yang menjalankan persekitaran homelab atau menguruskan berbilang instance Linux .
Perbincangan mendedahkan bahawa walaupun perbezaan teori antara jenis bekas mungkin dibesarkan, perbezaan alatan dan pengalaman pengguna kekal sebagai faktor penting dalam keputusan penggunaan teknologi.
Rujukan: About containers and VMs