Pelancaran ' fun ', persekitaran pembangunan fungsi serverless tempatan, telah mencetuskan perbahasan menarik dalam komuniti pembangun mengenai sifat dan kegunaan pengkomputeran serverless, terutamanya fungsi AWS Lambda. Walaupun alat ini bertujuan untuk memudahkan pembangunan tempatan dengan meniru persekitaran Lambda, ia juga telah mencetuskan semula perbincangan tentang konsep asas di sebalik seni bina serverless.
Persekitaran Masa Larian yang Disokong:
- Node.js : sistem node, v6.10.0, v8.10.0, v10.15.3, v12.22.7, v14.18.1
- Python: sistem python, v2.7.12, sistem python3, v3.6.8, v3.7.2
- Go: go1.x (memerlukan kompilasi khusus platform)
- Tersuai: sokongan runtime yang disediakan
Krisis Identiti Serverless
Komuniti pembangun telah mengemukakan persoalan yang menarik tentang terminologi dan pemasaran teknologi serverless. Salah satu kritikan yang mendapat perhatian dari komuniti menyatakan:
Saya sentiasa tidak suka memanggil ini lambda atau serverless secara keseluruhan. Ia tidak tulen dan memang dijalankan pada pelayan... Ia pada dasarnya adalah sistem operasi.
Perspektif ini menyoroti perbahasan berterusan sama ada serverless hanyalah pemasaran bijak untuk versi moden penyelesaian hosting tradisional, dengan sesetengah pembangun membuat perbandingan dengan model hosting berkongsi PHP.
Aplikasi Praktikal dan Cabaran Pembangunan
Walaupun terdapat perbahasan falsafah, perbincangan komuniti menunjukkan minat yang sebenar dalam aplikasi praktikal Lambda. Pembangun aktif mencari kes penggunaan dan membandingkan pendekatan pembangunan yang berbeza. Persekitaran ' fun ' cuba menangani keperluan kritikal dengan menyediakan persekitaran pembangunan yang hampir menyerupai persekitaran pengeluaran AWS Lambda, walaupun dengan batasan yang diketahui seperti konteks pengguna dan mekanisme sandbox yang berbeza.
Batasan Utama:
- Berjalan sebagai pengguna tempatan dan bukannya sbx_user1051
- Tiada proses pengasingan atau chroot
- Menggunakan SIGSTOP/SIGCONT untuk pembekuan proses
- Program yang boleh dilaksanakan secara natif mesti dikompil untuk sistem operasi tempatan
Penyelesaian Alternatif dan Keutamaan Komuniti
Perbincangan ini telah menyoroti beberapa pendekatan alternatif untuk pembangunan Lambda tempatan, termasuk SST ( sst.dev ) yang menawarkan keupayaan pembangunan Lambda tempatan secara langsung. Sesetengah pembangun yang berpengalaman dengan Serverless Framework telah menunjukkan minat terhadap ' fun ' sebagai alternatif yang mungkin lebih mudah, walaupun yang lain menyatakan bahawa ia mempunyai tujuan yang berbeza, fokus khusus pada simulasi persekitaran tempatan berbanding pengurusan penempatan penuh.
Pertimbangan Pelaksanaan Teknikal
Pelaksanaan alat ini mendedahkan pertimbangan teknikal penting untuk pembangunan Lambda. Ia menyokong pelbagai versi Node.js (dari 6.10 hingga 14.x) dan persekitaran Python, walaupun sesetengah ahli komuniti menyatakan ketiadaan sokongan Ruby. Perbezaan persekitaran antara pembangunan tempatan dan pengeluaran, terutamanya berkaitan pengurusan proses dan konteks keselamatan, kekal menjadi pertimbangan penting bagi pembangun.
Kesimpulannya, walaupun ' fun ' menyediakan alat yang berharga untuk pembangunan Lambda tempatan, perbincangan komuniti mendedahkan persoalan yang lebih luas tentang paradigma serverless dan pelaksanaannya. Perbahasan ini terus membentuk cara pembangun mendekati strategi pembangunan dan penempatan fungsi awan.
Rujukan: fun - Persekitaran pembangunan fungsi λ serverless tempatan