- Artikel tentang proyek penulis pada Hackweek 22 milik SUSE, yaitu membangun unikernel yang menjalankan WebAssembly.
- Penulis memilih proyek ini karena beberapa alasan, termasuk potensi manfaat dari menggabungkan unikernel dan WebAssembly.
- Dari sudut pandang pengembang aplikasi, mem-porting atau menulis aplikasi untuk unikernel bisa jadi sulit karena aplikasi dan dependensinya harus mendukung unikernel target.
- Para pengelola unikernel juga kesulitan menjamin agar aplikasi apa pun dapat berjalan mulus di platform mereka karena adanya primitif sistem yang tidak diketahui yang bisa dimanfaatkan oleh aplikasi pengguna.
- Namun, ketika menargetkan platform WebAssembly, aplikasi memiliki sekumpulan kemampuan yang jelas yang harus disediakan oleh runtime WebAssembly.
- Penulis menggunakan proyek RustyHermit, sebuah unikernel yang ditulis dengan Rust, sebagai dasar untuk aplikasi unikernel.
- Penulis juga menghadapi kesulitan terkait runtime WebAssembly karena Wasmtime, runtime pilihannya, tidak dapat dibangun di atas RustyHermit. Pada akhirnya mereka menemukan dan menggunakan wasmi, runtime WebAssembly murni Rust.
- Penulis juga membahas penggunaan proposal WebAssembly Component Model di Spiderlightning, yang memungkinkan pemberian kemampuan kepada guest WebAssembly dan memungkinkan host menggunakan kemampuan yang disediakan oleh guest WebAssembly.
- Penulis harus memperluas
wit-bindgen, alat CLI yang menghasilkan kode host/guest dari file .wit, agar mendukung runtime WebAssembly wasmi.
- Penulis menutup tulisan dengan rekaman aplikasi unikernel yang menjalankan demo
http-server Spiderlightning, sambil menjanjikan bahwa pada bagian perjalanan berikutnya mereka akan membahas Rust async, Redis, dan beberapa error.
1 komentar
Komentar Hacker News