Hyperlight WASM: Hızlı, Güvenli ve OS-Free
(opensource.microsoft.com)- Hyperlight Wasm, Microsoft’un CNCF’ye bağışladığı ultra hafif sanal makine (VM) teknolojisi Hyperlight’ın en yeni genişletilmiş sürümü olup WebAssembly (Component Model tabanlı) iş yüklerini hızlı ve güvenli şekilde çalıştırır
- Geleneksel VM’lerden farklı olarak OS veya sanal cihazlar olmadan yalnızca bellek dilimleri ve CPU’yu açığa çıkarır ve 1~2 ms gibi hızlı açılış süresi sunar
- C, Rust, Go, Python, JS gibi çeşitli dillerle yazılmış wasm bileşenleri hypervisor koruması altında çalıştırılabilir
Hyperlight Wasm’ın başlıca özellikleri
-
Geleneksel VM’lere kıyasla hızlı performans
- Geleneksel VM: cihaz başlatma → çekirdek yükleme → OS açılışı → uygulama çalıştırma (yaklaşık 125 ms)
- Hyperlight Wasm: bellek dilimi oluşturma + Wasm yükleme ile çalıştırma mümkün (1~2 ms, gelecekte hedef <1 ms)
- Hızlı çalışma süresi, istek üzerine serverless çalıştırma veya asgari warm pool yapılandırması için avantaj sağlar
-
İşletim sistemi olmadan da farklı dilleri çalıştırma
- Standart WASI ve WebAssembly Component Model tabanında, çoğu dille yazılmış bileşenler çalıştırılabilir
- wasmtime runtime’ı gömülü olduğundan Python, JavaScript, C# gibi yorumlanan diller de runtime ile birlikte çalıştırılabilir
- Geliştirici açısından bakıldığında yalnızca
wasm32-wasip2hedefi için derlemek Hyperlight’ta çalıştırmak için yeterlidir
-
Gelişmiş güvenlik (çift sandbox)
- Wasm sandbox’ı + hypervisor tabanlı VM sandbox’ı ile iki katmanlı koruma yapısı
- Bir saldırgan wasm dışına çıksa bile ayrıca VM sandbox’ını da aşması gerekir
Geliştirme örneği: Rust tabanlı UDP Echo sunucusunu çalıştırma
wkgCLI ile wasm binary’si indirme ve derleme- WASI arayüz tanım dosyasını (
.wit) binary’ye dönüştürerek binding oluşturma hyperlight_component_macrovehost_bindgen!ile Wasm import/export arayüzü binding’lerini otomatik oluşturma- UdpSocket arayüzü implementasyonu ile echo sunucusu mantığını tanımlama
hyperlight-wasmsandbox’ı oluşturup wasm bileşenini yükleme ve çalıştırma-
Ahead-of-Time derleme
hyperlight-wasm-aotaracıyla wasm’ı AOT derleyerek çalışma süresini kısaltmacargo runile sunucuyu çalıştırıpnc -ukomutuyla UDP testi yapma mümkün
Ölçeklenebilirlik ve gelecek planları
- Hyperlight Wasm’ın yalnızca x86 değil, Arm64 mimarisini de desteklemesi planlanıyor
- Şu anda WASI arayüzlerinin doğrudan implement edilmesi gerekiyor, ancak gelecekte varsayılan binding’ler sunulması planlanıyor
- HTTP sunucuları gibi basit servislerin hızlı biçimde sandbox içine alınabilmesi hedefleniyor
Açık kaynak topluluğuna katılım bilgisi
- Hyperlight, Microsoft’un Apache 2.0 lisansı ile yayımlanan açık kaynak projesidir ve CNCF Sandbox’a kayıtlıdır
- Hyperlight Wasm, bulut yerel bilişim için uygun hızlı ve güvenli bir çalışma ortamı sunmayı hedefler
- Kodları incelemek ve katkı vermek GitHub deposu üzerinden mümkündür
👉 GitHub deposu: hyperlight-wasm
2 yorum
Hyperlight - hafif sanal makine yöneticisi (VMM) | GeekNews
Hacker News görüşü
Birkaç aydır WebAssembly’yi ciddi biçimde kullanarak, birden çok dilde çalışan backend kimlik doğrulama kütüphanesi oluşturmaya başladım
Birkaç ay önce Hyperlight adlı hafif bir VMM duyurmuştuk
Oldukça heyecan verici
İlginç görünüyor
Harika
Tüm bu havalı ve ilginç projeler, bana WASM’ın tarayıcı dışında her yerde başarılı olduğu hissini veriyor
Bunu Promox kurulumuna nasıl dahil edebileceğimize dair bir fikri olan var mı?
Instance’lar nasıl başlatılıyor ve yönetiliyor?
Temelde, donanım VM’inde programları sandbox etmek için bir VM’niz (wasm) var; bu da kullanıcı alanı süreçlerinde (Linux process) programları izole etmek için bir soyutlama
Bu bir unikernel/library OS mi?