Faasta telah muncul sebagai platform Function-as-a-Service (FaaS) baru yang memanfaatkan WebAssembly untuk mencapai metrik kinerja luar biasa, termasuk waktu cold start di bawah 1ms dan overhead memori yang minimal. Platform ini menghasilkan ketertarikan di komunitas pengembang karena pendekatannya berbasis standar dan kemampuan self-hosting, yang mengatasi kesenjangan dalam lanskap serverless saat ini.
Standar WebAssembly dan WASI P2 Mendorong Performa
Faasta membedakan dirinya dengan menjalankan modul WebAssembly secara langsung menggunakan standar WASI P2 dan WASIHTTP untuk penanganan permintaan. Pendekatan ini sangat berbeda dari platform lain yang mungkin menjalankan WebAssembly secara tidak langsung. Diskusi komunitas menyoroti bagaimana model eksekusi langsung ini memberikan keunggulan kinerja dibandingkan alternatif seperti Bun, yang menjalankan WebAssembly melalui JavaScript.
Sebagai seseorang yang menggunakan bun, deno & cloudflare workers, saya ingin mengatakan bahwa setidaknya di bun, bagian wasm sebenarnya terjadi dalam js dan bun hanya menjalankan js tersebut menggunakan javascriptcore yang jelas tidak dioptimalkan seperti yang dinyatakan oleh dokumentasi Bun sendiri.
Pilihan arsitektur ini memungkinkan Faasta mencapai metrik kinerja yang mengesankan sambil mempertahankan jejak yang ringan. Penggunaan Wasmtime oleh platform untuk eksekusi WebAssembly yang efisien semakin meningkatkan kemampuan kecepatannya.
Fitur Utama Faasta
- Modul WebAssembly menggunakan standar WASI P2
- WASIHTTP untuk penanganan HTTP berkinerja tinggi
- Isolasi aman antar fungsi
- Waktu mulai dingin yang sangat cepat (<1ms)
- Dapat dihosting sendiri dengan pengaturan sederhana
- Sesuai dengan standar (WASI P2 dan WASIHTTP)
- Didukung oleh Wasmtime
- Instansi gratis tersedia di faasta.xyz
Adopsi Standar WebAssembly oleh Penyedia Cloud
Sebuah topik menarik dalam diskusi komunitas berpusat pada adopsi WebAssembly oleh penyedia cloud utama untuk komputasi serverless. Sementara beberapa pengguna menyatakan keterkejutan bahwa raksasa cloud belum sepenuhnya mengadopsi WASM dan WASI untuk fungsi serverless, yang lain menunjukkan bahwa kemajuan sedang terjadi, meskipun secara bertahap.
Microsoft Azure telah meluncurkan Spin sebagai penawaran eksperimental dan berinvestasi dalam pengembangan Wasmtime dan WASI. Fastly juga telah mengembangkan platform Compute berbasis WASM. Cloudflare Workers mendukung eksekusi JavaScript dan WebAssembly, meskipun dengan batasan ukuran tertentu.
Konsensusnya tampaknya adalah bahwa adopsi penyedia cloud yang lebih luas mungkin akan dipercepat setelah standar WASI mencapai versi 1.0, yang mungkin masih beberapa tahun lagi. Namun, spesifikasi WASI P2 saat ini yang diimplementasikan Faasta cukup stabil untuk membangun aplikasi produksi saat ini.
Perbandingan dengan Platform Lain
Platform | Pendekatan WebAssembly | Kepatuhan Standar |
---|---|---|
Faasta | Eksekusi langsung | WASI P2, WASIHTTP |
Bun | Eksekusi dimediasi JS | Dukungan WASI terbatas |
Cloudflare Workers | Mendukung WASM | Batasan ukuran (1-2MB) |
Azure (eksperimental) | Implementasi Spin | Dukungan WASI |
Fastly Compute | Ditenagai WASM | Implementasi kustom |
Kemampuan Self-Hosting Mengatasi Kekhawatiran Vendor Lock-In
Salah satu fitur Faasta yang paling banyak dibahas adalah kemampuan self-hosting-nya. Platform ini dirancang sebagai binary statis tunggal dengan persyaratan konfigurasi minimal, memungkinkan pengembang untuk dengan mudah bermigrasi antara lingkungan yang dihosting dan self-hosted tanpa menulis ulang aplikasi mereka.
Pendekatan ini secara langsung mengatasi kekhawatiran umum dengan platform serverless: vendor lock-in. Jika penyedia hosting menghentikan layanan, pengguna Faasta dapat dengan cepat beralih ke self-hosting atau penyedia lain, mempertahankan investasi mereka dalam pengembangan aplikasi.
Kemampuan self-hosting juga membuka diskusi tentang dukungan domain kustom dan manajemen sertifikat SSL. Saat ini, Faasta menawarkan pembuatan sertifikat SSL wildcard otomatis untuk deployment self-hosted menggunakan DNS Porkbun, dengan rencana untuk mendukung beberapa sertifikat domain kustom pada instance multi-tenant.
Strategi Open Source dan Pengembangan Masa Depan
Komunitas telah menunjukkan minat pada pendekatan lisensi Faasta. Pengembang telah mengindikasikan rencana untuk menjadikan Faasta sebagai proyek open source, dengan CLI dan komponen antarmuka yang sudah tersedia di bawah lisensi MIT. Lisensi copyleft untuk komponen server atau strategi lisensi ganda sedang dipertimbangkan.
Umpan balik komunitas secara aktif membentuk roadmap pengembangan Faasta, dengan pengguna meminta fitur seperti dukungan prefiks jalur dan subdomain untuk URL fungsi, lebih banyak contoh, dan dokumentasi yang ditingkatkan. Proyek ini saat ini masih eksperimental, dengan pengembang memperingatkan bahwa perubahan yang merusak mungkin mengganggu layanan pada instance yang dihosting di faasta.xyz.
Seiring dengan standar WebAssembly yang terus matang, Faasta mewakili implementasi awal dari apa yang bisa menjadi pendekatan yang lebih umum untuk komputasi serverless—yang menggabungkan manfaat kinerja dan keamanan WebAssembly dengan fleksibilitas opsi self-hosting.
Referensi: Faasta: a Faster FaaS Platform