Review: Distro Linux terbaik untuk Docker dan container

Selama enam bulan terakhir saya telah meninjau lima distribusi Linux minimal yang dioptimalkan untuk menjalankan kontainer: Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Atomic Host, dan VMware Photon OS. Secara umum dikenal sebagai "sistem operasi kontainer", distribusi Linux yang dibuat khusus dan dipreteli ini bukan satu-satunya cara untuk menjalankan kontainer dalam produksi, tetapi menyediakan basis yang tidak membuang sumber daya pada apa pun selain dukungan kontainer.

Keadaan industri dengan sistem penyebaran kontainer sangat mirip dengan hari-hari awal distribusi Linux. Anda memiliki satu elemen kunci, dalam hal ini kontainer Docker, yang dikelilingi oleh sejumlah komponen ekosistem yang bersaing. Sama seperti distro Linux tradisional yang menggabungkan berbagai manajer paket, lingkungan desktop, utilitas sistem, layanan, dan aplikasi, sebagian besar distribusi container mencampur dan mencocokkan berbagai komponen untuk membuat apa yang mereka anggap sebagai solusi optimal. Ambil contoh konfigurasi terdistribusi dan penemuan layanan. Ada beberapa solusi untuk ini seperti Etcd, Consul, dan ZooKeeper.

Setiap distribusi menggunakan pendekatan berbeda untuk apa yang akan disertakan dalam tumpukan. Di satu sisi, ada distribusi yang dirancang hanya untuk mendukung tingkat tumpukan yang lebih tinggi, seperti CoreOS Container Linux dan Red Hat Project Atomic. Begitu banyak fungsionalitas telah dimasukkan ke dalam lapisan manajemen berpemilik sehingga ada sedikit harapan untuk menggunakan OS untuk hal lain. Distro lain, seperti RancherOS dan VMware Photon OS, memberikan fleksibilitas yang lebih besar, mendukung berbagai komponen ekosistem dan sistem orkestrasi. Ini memberi administrator cara yang baik untuk bereksperimen dan berpotensi menghindari vendor lock-in.

Alpine Linux

Alpine Linux, sistem operasi yang mendasari banyak image Docker resmi, adalah pilihan tepat untuk tugas tersebut. Dengan ukuran hanya lima megabyte, Alpine Linux berada di ujung spektrum dari distribusi Linux full-fat beberapa tahun yang lalu, yang bersaing dengan Solaris dan dimaksudkan untuk berjalan pada sistem perangkat keras yang masif. Jenis baru Linux ini dirancang untuk berjalan pada perangkat keras yang disematkan, dan mengonsumsi sumber daya minimal, menjadikannya pilihan yang sempurna untuk penampung.

Warisan Alpine Linux sebagai OS sistem tertanam terbukti selama tinjauan saya. Banyak dari opsi konfigurasi default ke sistem tertanam, dan dokumentasi di banyak area jarang, atau tidak ada. Jelas merupakan sistem yang dirancang untuk dan terutama digunakan oleh para peretas, Alpine Linux akan meminta perusahaan untuk mengatasi beberapa rintangan untuk membangun aplikasi mereka.

Penerapan produksi Alpine Linux akan menikmati beberapa keuntungan termasuk startup cepat, footprint minimalis, dan sikap aman-menurut-default yang tidak ditemukan di tempat lain. Semuanya, mulai dari biner sistem hingga pustaka C dirancang untuk penerapan yang kecil, cepat, dan aman. Tidak ada gembung di sini.

Administrasi Alpine Linux berbeda dari sistem Linux tradisional, dan akan membutuhkan waktu untuk mempelajarinya. Instalasi dan manajemen paket unik bahkan di antara sistem operasi kontainer, meskipun telah dipikirkan dengan baik. Jika toko pengembangan Anda memiliki pengembang di atas rata-rata yang bersedia melakukan investasi, Alpine Linux akan menyediakan basis yang kokoh, stabil, dan aman untuk aplikasi untuk waktu yang lama.

CoreOS Container Linux

Tumpukan kontainer CoreOS menggunakan Etcd untuk penyimpanan terdistribusi dan penemuan layanan, Flanel untuk jaringan, dan Kubernetes untuk orkestrasi kontainer, dan mendukung format kontainernya sendiri, rkt (Rocket), selain Docker. Rocket adalah upaya pada format kontainer yang bersaing untuk mengatasi kekurangan dalam format Docker sekitar tahun 2015, tetapi dengan kekurangan tersebut diatasi, Rocket belum melihat banyak penyerapan.

Video terkait: Apa itu Kubernetes?

Dalam video 90 detik ini, pelajari tentang Kubernetes, sistem open-source untuk mengotomatiskan aplikasi dalam container, dari salah satu penemu teknologi, Joe Beda, pendiri dan CTO di Heptio.

CoreOS, seperti Project Atomic, tidak takut menyimpang secara radikal dari Linux tradisional. Seperti container OS Red Hat, CoreOS Container Linux membuat sistem file yang sebagian besar tidak dapat diubah, tetapi melakukannya dengan sistem partisi disk yang terinspirasi oleh Google Chromium OS. Apa yang dilakukannya adalah mempertahankan sistem file lama pada sebuah partisi, yang berarti bahwa rollback selalu aman dan cepat.

Meskipun dokumentasinya cukup baik dan komprehensif, saya menemukan instalasi agak rumit, yang melibatkan proses dua langkah untuk mendapatkan file konfigurasi. Namun, setelah diinstal, CoreOS menawarkan peningkatan terus-menerus, "tanpa waktu henti", fitur yang dimungkinkan oleh tata letak partisi disknya yang unik. CoreOS telah melakukan banyak pekerjaan di sini, dan perusahaan menawarkan berbagai opsi pemeliharaan yang paling sesuai dengan organisasi mana pun, termasuk kemampuan untuk tidak ikut serta.

CoreOS, seperti Project Atomic, adalah keputusan semua atau tidak sama sekali. Memilah-milah bagian dan menggunakan OS yang mendasari untuk membangun infrastruktur kontainer Anda sendiri sebenarnya bukanlah pilihan karena semua keputusan desain arsitektur yang dimasukkan ke dalam platform. Jika Anda bersedia menerima keputusan tersebut dan membayar distribusi Kubernetes komersial CoreOS, Tectonic, tidak diragukan lagi Anda dapat melakukan pengangkatan yang sangat berat.

Peternakan Labs PeternakanOS

Rancher Labs 'RancherOS adalah sistem operasi Linux yang seluruhnya terdiri dari kontainer. Bahkan proses init (PID 1) adalah container Docker. Ini berarti tidak diperlukan sistem manajemen paket. Upgrade OS (dan downgrade) dikelola dengan Docker, sama seperti container lainnya.

Walaupun pendekatan ini sama radikalnya dengan keputusan arsitektur yang dibuat di beberapa distribusi lain, seperti Project Atomic dan CoreOS, hasilnya adalah kesederhanaan yang mengejutkan. Meskipun mempelajari administrasi sistem yang benar-benar baru tampak menakutkan pada awalnya, Anda harus tahu Docker untuk mengelola kontainer, jadi mengapa tidak menggunakan sistem yang sama untuk keduanya?

RancherOS tampaknya berkembang pesat. Dalam ulasan saya, saya menemukan dokumentasinya agak kurang, tetapi setiap pengembang atau administrator yang akrab dengan wadah Docker sudah tahu sebagian besar sistem. RancherOS memiliki footprint kecil (20MB) dan memanfaatkan sumber daya secara efisien. Meskipun garis antara Rancher sistem manajemen kontainer dan Rancher OS agak kabur, sistem manajemen kontainer gratis dan open source, jadi tidak ada alasan untuk mencoba menggulung sendiri. Organisasi yang membutuhkan akses ke kode sumber tidak perlu mencari lebih jauh.

Platform Rancher mendukung hampir seluruh ekosistem alat untuk manajemen kontainer, termasuk Docker Swarm, Kubernetes, dan Mesos, dan alat ini berkembang pesat. Meskipun sangat berbeda dari UNIX tradisional, RancherOS tampaknya lebih dekat dengan filosofi dasar UNIX daripada distribusi OS wadah lainnya: Alat sederhana yang beroperasi bersama dengan cara yang elegan.

Red Hat Project Atomic

Project Atomic dari Red Hat berada dalam kamp orkestrasi layanan Kubernetes. Biasanya jenis penerapan ini diarahkan pada skenario berskala besar yang sangat tersedia. Sisi negatifnya adalah, pada dasarnya, Anda harus "melakukan apa yang diperintahkan" dan merancang aplikasi berdasarkan konvensi.

Di dalam kotak Anda akan menemukan Flanel untuk jaringan, Etcd untuk penyimpanan nilai kunci terdistribusi, dan OSTree untuk manajemen host. OSTree adalah cara yang relatif baru untuk menerapkan OS dalam skala besar dengan cara yang andal dan terdistribusi. Atomic menggabungkan OSTree dengan manajer paket RPM baru untuk membuat RPM-OSTree, yang memberikan sebagian besar sistem file yang tidak dapat diubah.

Saya menemukan Project Atomic sebagai tantangan. Ia sangat ambisius dan bergerak cepat, dengan banyak bagian yang bergerak. RHEL, CentOS, Fedora, SELinux, Systemd, set perintah “Docker” khusus untuk mengontrol host yang mendasarinya… semuanya ada dalam campuran, dan dokumentasinya tidak teratur dan membingungkan. Selain itu, di cluster kecil saya, yang kekurangan Chef, Salt, atau Puppet, saya harus mengkonfigurasi setiap node secara manual.

Intinya adalah Project Atomic masih membutuhkan waktu untuk dipanggang. Jika visi tersebut terwujud, maka mungkin menjadi standar masa depan - meskipun bukan untuk pusat data dengan ratusan node tetapi ribuan atau puluhan ribu. Dalam hal ini, visi tersebut tampaknya lebih dekat dengan Mesos daripada sistem penyebaran kontainer pada umumnya. Jika perusahaan Anda hidup dan bernapas dalam ekosistem Red Hat dan berencana untuk bertahan di sana, maka Project Atomic mungkin layak untuk dimulai.

VMware Photon OS

VMware's Photon OS adalah host kontainer Linux minimal yang dirancang untuk memiliki footprint kecil dan disetel untuk hypervisor VMware. Dengan demikian, Photon OS hanya berjalan di lingkungan virtual; penyebaran pada perangkat keras fisik tidak dimungkinkan. Photon OS disesuaikan untuk membuat pengelolaan penampung lebih mudah, tetapi tidak seradikal Atomic atau CoreOS. Photon OS lebih merupakan langkah evolusioner.

Berdasarkan pengujian saya, Photo OS memenuhi janjinya di lingkungan virtual VMware. (Photon OS juga dapat berjalan di hypervisor lain serta Google dan cloud Amazon.) Karena Photon OS dapat membuat asumsi tentang perangkat keras (virtual), ekosistemnya terlihat sangat mirip dengan Linux standar, membuat kurva pembelajarannya tidak terlalu curam. Jaringan dan penyimpanan kompatibel dengan Systemd, dan ada berbagai opsi yang didokumentasikan untuk jaringan kontainer. Dokumentasi untuk Photon OS mungkin yang terbaik di antara produk yang ditinjau.

VMware memimpin dalam memproduksi container untuk lingkungan tradisional, dan ini masuk akal jika Anda memikirkannya. Seberapa sering Anda diminta untuk menjelaskan perbedaan antara container dan VM? Dengan Photon OS, sebentar lagi tidak akan ada perbedaan apa pun: Container hanya akan menjadi VM yang ringan, diterapkan dan dikelola dengan alat yang sama. Photon OS mendukung hampir setiap bagian utama dari ekosistem kontainer: kontainer Docker dan Rocket, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2, dan banyak lagi.

Dari semua distribusi yang saya ulas, VMware Photon OS tampaknya paling visioner dan saat ini paling lengkap dan dapat digunakan. Jika Anda adalah toko VMware yang menjelajahi containerization, saya tidak akan memikirkan hal lain. Jika Anda bukan toko VMware, Photon OS masih layak untuk dilihat.

Membandingkan sistem operasi kontainer

Alpine Linux mendukung hampir semua image Docker di luar sana. Sempurna untuk aplikasi yang disematkan, Alpine Linux tidak boleh dianggap sebagai cara untuk menjalankan container. Sebaliknya, Alpine Linux adalah wadahnya. Pengembang yang terbiasa membangun aplikasi di Alpine Linux akan menulis aplikasi kontainer yang lebih baik.

CoreOS, salah satu sistem operasi kontainer awal, mengadopsi tumpukan teknologi Google. Ini menawarkan cara yang andal, meskipun memiliki pendapat, dalam mengelola infrastruktur kontainer. Sementara CoreOS membuat banyak komponen tersedia sebagai open source, kerumitan mempelajari tumpukan besar secara efektif berarti pengguna perlu membeli sistem orkestrasi Techtonic berpemilik untuk penerapan produksi. Jika uang bukan masalah, dan Anda perlu menerapkan aplikasi berukuran Google, CoreOS adalah pilihan yang logis.

RancherOS adalah wadah murni. Jika Anda akan menggulung infrastruktur kontainer Anda sendiri, atau Anda menginginkan tumpukan manajemen kontainer minimal, RancherOS adalah tempat untuk memulai. Dengan orkestrasi open source dan alat penjadwalan seperti Docker Swarm, Kubernetes, dan Mesos yang semuanya tersedia secara gratis, tumpukan Rancher akan menarik bagi perusahaan yang berorientasi open source, lakukan sendiri.

Red Hat's Project Atomic adalah proyek payung yang merancang ulang cara perusahaan menyebarkan infrastruktur. Proyek ambisius ini dapat mengubah cara berpikir perusahaan tentang penerapan aplikasi, tetapi jalannya panjang. Project Atomic paling cocok untuk pengguna awal dengan investasi besar yang ada dalam teknologi Red Hat.

VMware's Photon OS menghadirkan teknologi dan pengalaman manajemen mesin virtual vendor tersebut ke dalam container. Photon OS diterapkan sebagai mesin virtual dan dikelola dengan alat VM tradisional. VMware, mungkin melihat tulisan di dinding untuk VM tradisional, telah dengan sepenuh hati merangkul teknologi container dan dengan cepat memajukan keadaan seni. Jika Anda adalah toko VMware sekarang, Anda akan kesulitan menemukan platform kontainer yang lebih baik daripada Photon OS.

Baca ulasan container Linux: 

  • Review: Alpine Linux dibuat untuk Docker
  • Ulasan CoreOS: Linux untuk container dan Kubernetes
  • RancherOS: Linux yang lebih sederhana untuk pecinta Docker
  • Review: Red Hat melakukan Docker dengan cara yang sulit
  • Review: VMware's Photon OS bersinar untuk kontainer Docker