Hyperlight, proyek sumber terbuka dari Microsoft yang terintegrasi ke dalam aplikasi yang menjalankan kode terisolasi atau tidak tepercaya

hyperlight-logo

Microsoft meluncurkan baru-baru ini peluncuran proyek sumber terbuka baru, yang memiliki nama "hyperlight«. Ini adalah hypervisor yang dirancang khusus untuk diintegrasikan ke dalam aplikasi yang memerlukan eksekusi kode terisolasi, baik untuk alasan keamanan atau untuk menangani fragmen yang tidak dipercaya.

Hyperlight diposisikan sebagai perpustakaan bersama, yang memungkinkan Anda menjalankan fungsi dalam mikro-VM, meminimalkan latensi dan memfasilitasi komunikasi yang efisien dengan fungsi yang dihosting.

Tentang Hyperlight

Dibandingkan dengan mesin virtual tradisional, Hyperlight menonjol karena dampaknya yang rendah terhadap kinerja, karena dibandingkan dengan mem-boot mesin virtual standar yang membutuhkan setidaknya 120 milidetik, Hyperlight memungkinkan Anda membuat VM mikro hanya dalam 1 hingga 2 milidetik, memungkinkan isolasi pada tingkat fungsional.

Selain itu, disebutkan bahwa meskipun lingkungan seperti Wasmtime untuk WebAssembly menawarkan waktu yang lebih rendah, yaitu 0,03 milidetik, Hyperlight berupaya menawarkan keseimbangan ideal antara isolasi dan fungsionalitas untuk aplikasi yang kompleks.

Berbeda dengan konfigurasi tradisional, mikro-VM di Hyperlight tidak menggunakan kernel atau sistem operasi lengkap. Sebaliknya, mesin virtual direduksi menjadi program otonom yang mencakup kode fungsi, inti khusus minimal dan waktu eksekusi yang diperlukan, berjalan di wilayah memori tunggal dengan CPU virtual yang ditetapkan, tanpa mempartisi proses atau memetakan perangkat.

Hyperlight memungkinkan penyesuaian ini dalam berbagai skenario: untuk integrasi fungsi gateway Internet of Things (IoT), penggunaan dalam otomasi industri, layanan cloud berkinerja tinggi, dll.

Alur pengembangan dengan Hyperlight melibatkan menghubungkan kode aplikasi utama dengan perpustakaan Hyperlight Host, bertanggung jawab untuk mengelola mikro-VM. Sementara itu, Kode terisolasi yang berjalan di dalam VM mikro ini menggunakan perpustakaan Hyperlight Guest, yang menawarkan API yang diperlukan untuk berinteraksi dengan pihak luar dan memungkinkan kode dijalankan sepenuhnya secara independen dari sistem operasi host. Dengan arsitektur ini, Hyperlight berupaya mendefinisikan kembali pelaksanaan fungsi yang terisolasi, menawarkan pendekatan yang efisien dan aman untuk aplikasi modern.

sebuah fitur yang menonjol oleh Hyperlight adalah kemampuannya untuk membangun interaksi dua arah antara aplikasi host dan fungsi terisolasi, karena tidak hanya memungkinkan aplikasi memanggil fungsi yang dihosting di lingkungan terisolasi, tetapi juga memungkinkan fungsi ini mengakses elemen tertentu dari host. Namun, ini Akses dikontrol secara ketat untuk memastikan keamanan karena secara default, fungsi terisolasi hanya dapat berkomunikasi dengan host melalui API minimal yang memfasilitasi pertukaran pesan. Batasan ini memastikan lingkungan terkendali dan mengurangi risiko keamanan yang terkait dengan isolasi fungsional.

Di pihak mereka rencana jangka panjangMicrosoft menyebutkan bahwa mereka berupaya mengubah Hyperlight menjadi proyek kolaboratif lebih luas di bawah pengelolaan Cloud Native Computing Foundation (CNCF). Gerakan ini bertujuan untuk mendorong pembangunan yang netral dan terbuka, terlepas dari pengaruh eksklusif produsen tertentu. CNCF, yang beroperasi di bawah Linux Foundation, sudah bertanggung jawab atas proyek-proyek berpengaruh seperti Kubernetes, Containerd, Istio, dan gRPC, yang memberi kita gambaran tentang kapasitas besar yang dimilikinya dalam mengelola inisiatif teknologi utama dalam ekosistem komputasi. . Langkah ini menjanjikan perluasan jangkauan Hyperlight dan menjadikannya sebagai alat penting dalam ruang aplikasi cloud-native.

Mengenai dukungan platform saat ini, penting untuk disebutkan bahwa ia mendukung berbagai lingkungan untuk menjamin keserbagunaannya. Di Linux, mendukung hypervisor KVM dan mshv (Microsoft Hypervisor di Azure Linux), sedangkan di Windows menggunakan WHP (Windows Hypervisor Platform) dan WSL2 dengan KVM (untuk saat ini, macOS tidak disertakan).

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentang itu, Anda harus tahu bahwa proyek ini dikembangkan di Rust, dan dTersedia di bawah lisensi Apache 2.0. Anda dapat memeriksa detailnya di link berikut.