Distro Solus

Solus: Infrastruktur Diperbarui, Proses Penyediaan Pembaruan Paket Lebih Tangkas

Infrastruktur proyek distribusi GNU/Linux lebih cepat! Begitulah simpulan pendek dari keterangan yang disampaikan oleh Ikey Doherty—​pendiri sekaligus pimpinan pengembangan Solus.

Solus

Di awal pengembangan, ketika distro ini masih bernama Evolve OS, segala pembaruan paket, pembaruan keamanan dan bug tersedia untuk pengguna dengan sangat cepat. Seiring waktu, ketika mereka berubah menjadi proyek Solus, pengguna semakin bertambah, kecepatan pengunduhan pembaruan paket dari server pun terus melambat. “Di sistem saya, rata-rata kecepatan dari server paket menurun hingga 280kb/s, membuat proses pengembangan terasa menyebalkan,” terang Ikey.

Tak bisa dibayangkan bukan, kecepatan pengunduhan paket di Indonesia mungkin saja lebih rendah dari itu.

Solus kemudian menggunakan CDN (Content Delivery Network) dari Fastly, perusahaan yang selama ini berkontribusi ke proyek-proyek FLOSS besar, termasuk Debian, Kernel.org, MetaCPAN, OpenBSD, OpenStreetMap, Python, Ruby, TOR, Wine, dsb. Dengan layanan ini, pengunduhan paket menjadi lebih cepat dan sama di setiap negara (meskipun itu tergantung koneksi internet yang kita miliki). Dari yang semula 280kb/s menjadi 11,14mb/s.

Sebelum pembaruan paket dapat diunduh pengguna, proses penyediaan paket tersebut cukup panjang. Sederhananya, pemaket memperbarui paket melalui git, yang kemudian diteruskan oleh pengembang inti dan diolah mesin sedemikian rupa untuk kemudian tersedia di server.

Dalam salah satu proses pengolahan paket, ada perkakas binman.py untuk mengelola repositori binary. Perkakas lawas ini bertanggung jawab mengirim dan mengawasi paket .eopkg yang diunggah ke mesin build (biasa saya sebut build farm). Semakin ke sini, untuk mengolah satu paket .eopkg saja membutuhkan waktu 6 menit. Padahal rata-rata satu waktu, ada 3 berkas .eopkg yang perlu diolah server. Dengan demikian butuh waktu tunda sekitar 18 menit sebelum mereka masuk index paket. Waktu yang sangat lama.

Hadirnya perkakas ferryd ingin mengubah hal itu.

Dengan ferryd yang ditulis menggunakan Golang dan bekerja secara paralel, proses “6 menit” berubah menjadi “6 detik” saja. Karena berjalan paralel dan memanfaatkan transit manifest (.tram), semua proses pemaketan dapat berjalan bersamaan. Jadi, jika ada 3 berkas .eopkg yang diolah, mereka akan berjalan selama 6 detik (tidak 18 detik).

Berdasarkan keterangan Ikey Doherty, selama memakai binman.py dalam satu hari mereka hanya dapat menyediakan sekitar 10 paket baru, dengan ferryd angka itu meningkat hingga 250 paket per hari. Di samping itu, perkakas ini juga mengizinkan Solus menyediakan paket delta dengan lebih cepat dan lebih baik.

Tidak hanya dilihat dari sisi teknis, “kecepatan” penyediaan pembaruan paket juga dipicu dengan hadirnya dua pemelihara baru komunitas global; Pierre-Yves (kyrios) dan Joey Riches (joebonrichie).

Pembaruan infrastruktur ini tentu saja semakin memanjakan para pengguna untuk mendapatkan banyak pembaruan dengan lebih cepat.

[wp_ad_camp_1]

Ramdziana adalah seorang narablog, pecinta kode, penggemar open source, pengguna GNU/Linux, dan penggemar Sherlock Holmes. Ikuti akun Twitter/Sebangsa @ramdziana
slot iklan
Scroll to top