- SUSE'nin Hackweek 22 etkinliğinde yazarın projesi hakkında bir yazı yayımlandı; bu projede WebAssembly çalıştıran bir unikernel inşa edildi.
- Yazar, unikernel'ler ile WebAssembly'yi birleştirmenin potansiyel faydaları da dahil olmak üzere çeşitli nedenlerle bu projeyi seçti.
- Uygulama geliştiricilerinin bakış açısından, uygulamanın ve bağımlılıklarının hedef unikernel'i desteklemesi gerektiğinden, bir uygulamayı unikernel'e taşımak veya unikernel için yazmak zor olabilir.
- Unikernel yöneticileri de kullanıcı uygulamalarının yararlanabileceği, önceden bilinmeyen sistem ilkel yapı taşları nedeniyle kendi platformlarında herhangi bir uygulamanın sorunsuz çalışacağını garanti etmekte zorlanır.
- Ancak WebAssembly platformu hedeflendiğinde, uygulamalar WebAssembly runtime'ı tarafından sağlanması gereken açık bir yetenek kümesine sahip olur.
- Yazar, unikernel uygulamasının temeli olarak Rust ile yazılmış bir unikernel olan RustyHermit projesini kullandı.
- Yazar, tercih ettiği runtime olan Wasmtime'ın RustyHermit üzerinde inşa edilmemiş olması nedeniyle WebAssembly runtime'ı ile ilgili zorluklar yaşadı. Sonunda saf Rust ile yazılmış bir WebAssembly runtime'ı olan wasmi'yi bulup kullandılar.
- Yazar ayrıca Spiderlightning içinde WebAssembly Component Model önerisinin kullanımını ele alıyor; bu sayede WebAssembly guest'lerine yetenekler sunulabiliyor ve host tarafı da WebAssembly guest'lerinin sunduğu yetenekleri kullanabiliyor.
- Yazar,
.wit dosyalarından host/guest kodu üreten bir CLI aracı olan wit-bindgen'i, wasmi WebAssembly runtime'ını destekleyecek şekilde genişletmek zorunda kaldı.
- Yazar, Spiderlightning
http-server demosunu çalıştıran unikernel uygulamasının kaydıyla yazıyı sonlandırıyor ve yolculuğun bir sonraki bölümünde Rust async, Redis ve bazı hataları ele alacağını söylüyor.
1 yorum
Hacker News görüşleri