Faasta telah muncul sebagai platform Fungsi-sebagai-Perkhidmatan (FaaS) baharu yang memanfaatkan WebAssembly untuk mencapai metrik prestasi yang luar biasa, termasuk masa mula sejuk di bawah 1ms dan penggunaan memori yang minimum. Platform ini menjana minat dalam komuniti pembangun kerana pendekatan berasaskan piawaian dan keupayaan hos sendiri, menangani jurang dalam landskap tanpa pelayan semasa.
Piawaian WebAssembly dan WASI P2 Memacu Prestasi
Faasta membezakan dirinya dengan menjalankan modul WebAssembly secara langsung menggunakan piawaian WASI P2 dan WASIHTTP untuk pengendalian permintaan. Pendekatan ini berbeza secara ketara daripada platform lain yang mungkin menjalankan WebAssembly secara tidak langsung. Perbincangan komuniti menyoroti bagaimana model pelaksanaan langsung ini memberikan kelebihan prestasi berbanding alternatif seperti Bun, yang menjalankan WebAssembly melalui JavaScript.
Sebagai seseorang yang menggunakan bun, deno & cloudflare workers, saya ingin menyatakan bahawa sekurang-kurangnya dalam bun, bahagian wasm sebenarnya berlaku dalam js dan bun hanya menjalankan js tersebut menggunakan javascriptcore yang sudah pasti tidak dioptimumkan seperti yang dinyatakan oleh dokumen Bun sendiri.
Pilihan seni bina ini membolehkan Faasta mencapai metrik prestasi yang mengesankan sambil mengekalkan jejak yang ringan. Penggunaan Wasmtime oleh platform untuk pelaksanaan WebAssembly yang cekap meningkatkan lagi keupayaan kecepatannya.
Ciri-ciri Utama Faasta
- Modul WebAssembly menggunakan standard WASI P2
- WASIHTTP untuk pengendalian HTTP berprestasi tinggi
- Pengasingan selamat antara fungsi
- Permulaan sejuk yang sangat pantas (<1ms)
- Boleh dihoskan sendiri dengan persediaan mudah
- Mematuhi standard (WASI P2 dan WASIHTTP)
- Dikuasakan oleh Wasmtime
- Instans hos percuma tersedia di faasta.xyz
Penggunaan Piawaian WebAssembly oleh Penyedia Awan
Satu topik menarik dalam perbincangan komuniti berkisar tentang penggunaan WebAssembly oleh penyedia awan utama untuk pengkomputeran tanpa pelayan. Walaupun sesetengah pengguna menyatakan kejutan bahawa gergasi awan belum sepenuhnya menerima WASM dan WASI untuk fungsi tanpa pelayan, yang lain menunjukkan bahawa kemajuan sedang berlaku, walaupun secara beransur-ansur.
Microsoft Azure telah melancarkan Spin sebagai tawaran eksperimen dan melabur dalam pembangunan Wasmtime dan WASI. Fastly juga telah membangunkan platform Compute yang dikuasakan oleh WASM. Cloudflare Workers menyokong pelaksanaan JavaScript dan WebAssembly, walaupun dengan had saiz tertentu.
Konsensus nampaknya adalah bahawa penggunaan penyedia awan yang lebih luas mungkin meningkat setelah piawaian WASI mencapai versi 1.0, yang mungkin mengambil masa bertahun-tahun. Walau bagaimanapun, spesifikasi WASI P2 semasa yang dilaksanakan oleh Faasta cukup stabil untuk membina aplikasi pengeluaran hari ini.
Perbandingan dengan Platform Lain
Platform | Pendekatan WebAssembly | Pematuhan Piawaian |
---|---|---|
Faasta | Pelaksanaan terus | WASI P2, WASIHTTP |
Bun | Pelaksanaan melalui JS | Sokongan WASI terhad |
Cloudflare Workers | Menyokong WASM | Had saiz (1-2MB) |
Azure (eksperimental) | Pelaksanaan Spin | Sokongan WASI |
Fastly Compute | Dikuasakan oleh WASM | Pelaksanaan khusus |
Keupayaan Hos Sendiri Menangani Kebimbangan Penguncian Vendor
Salah satu ciri Faasta yang paling banyak dibincangkan adalah keupayaan hos sendirinya. Platform ini direka sebagai binari statik tunggal dengan keperluan konfigurasi minimum, membolehkan pembangun untuk berpindah dengan mudah antara persekitaran yang dihoskan dan dihoskan sendiri tanpa menulis semula aplikasi mereka.
Pendekatan ini secara langsung menangani kebimbangan umum dengan platform tanpa pelayan: penguncian vendor. Jika penyedia perkhidmatan pengehosan menghentikan perkhidmatan, pengguna Faasta boleh beralih dengan cepat kepada hos sendiri atau penyedia lain, memelihara pelaburan mereka dalam pembangunan aplikasi.
Keupayaan hos sendiri juga membuka perbincangan mengenai sokongan domain tersuai dan pengurusan sijil SSL. Pada masa ini, Faasta menawarkan penjanaan sijil SSL wildcard automatik untuk penempatan hos sendiri menggunakan DNS Porkbun, dengan rancangan untuk menyokong pelbagai sijil domain tersuai pada instans berbilang penyewa.
Strategi Sumber Terbuka dan Pembangunan Masa Depan
Komuniti telah menunjukkan minat dalam pendekatan pelesenan Faasta. Pembangun telah menunjukkan rancangan untuk menjadikan Faasta sebagai projek sumber terbuka, dengan CLI dan komponen antara muka sudah tersedia di bawah lesen MIT. Lesen copyleft untuk komponen pelayan atau strategi pelesenan dwi sedang dipertimbangkan.
Maklum balas komuniti secara aktif membentuk pelan pembangunan Faasta, dengan pengguna meminta ciri seperti sokongan awalan laluan dan subdomain untuk URL fungsi, lebih banyak contoh, dan dokumentasi yang dipertingkatkan. Projek ini masih dalam peringkat eksperimen, dengan pembangun memberi amaran bahawa perubahan yang mungkin mengganggu perkhidmatan pada instans yang dihoskan faasta.xyz.
Seiring dengan kematangan piawaian WebAssembly, Faasta mewakili pelaksanaan awal apa yang boleh menjadi pendekatan yang lebih umum kepada pengkomputeran tanpa pelayan—yang menggabungkan prestasi dan faedah keselamatan WebAssembly dengan fleksibiliti pilihan hos sendiri.
Rujukan: Faasta: a Faster FaaS Platform