Komunitas Mendebatkan Alat Pengembangan Lokal AWS Lambda: Serverless atau Hanya Hosting yang Diberi Nama Baru?

BigGo Editorial Team
Komunitas Mendebatkan Alat Pengembangan Lokal AWS Lambda: Serverless atau Hanya Hosting yang Diberi Nama Baru?

Peluncuran ' fun ', sebuah runtime pengembangan fungsi serverless lokal, telah memicu perdebatan menarik di dalam komunitas pengembang tentang sifat dan kegunaan komputasi serverless, khususnya fungsi AWS Lambda. Sementara alat ini bertujuan untuk menyederhanakan pengembangan lokal dengan meniru lingkungan Lambda, hal ini juga telah memicu kembali diskusi tentang konsep dasar di balik arsitektur serverless.

Lingkungan Runtime yang Didukung:

  • Node.js : node sistem, v6.10.0, v8.10.0, v10.15.3, v12.22.7, v14.18.1
  • Python : python sistem, v2.7.12, python3 sistem, v3.6.8, v3.7.2
  • Go : go1.x (memerlukan kompilasi khusus platform)
  • Kustom: dukungan runtime yang disediakan

Krisis Identitas Serverless

Komunitas pengembang telah mengangkat pertanyaan-pertanyaan yang menarik tentang terminologi dan pemasaran teknologi serverless. Salah satu kritik yang sangat menggema dari komunitas menyatakan:

Saya selalu tidak suka menyebut ini lambda atau bahkan serverless secara keseluruhan. Mereka tidak murni dan mereka benar-benar berjalan di server... Mereka pada dasarnya adalah sistem operasi.

Perspektif ini menyoroti perdebatan yang sedang berlangsung tentang apakah serverless hanyalah pemasaran cerdas untuk versi modern dari solusi hosting tradisional, dengan beberapa pengembang membuat perbandingan dengan model shared hosting PHP.

Aplikasi Praktis dan Tantangan Pengembangan

Terlepas dari perdebatan filosofis, diskusi komunitas menunjukkan minat yang nyata dalam aplikasi praktis Lambda. Para pengembang aktif mencari kasus penggunaan dan membandingkan pendekatan pengembangan yang berbeda. Runtime ' fun ' mencoba mengatasi kebutuhan penting dengan menyediakan lingkungan pengembangan yang sangat mirip dengan lingkungan produksi AWS Lambda, meskipun dengan keterbatasan yang dicatat seperti konteks pengguna yang berbeda dan mekanisme sandboxing.

Batasan Utama:

  • Berjalan sebagai pengguna lokal, bukan sebagai sbx_user1051
  • Tidak ada proses sandboxing atau chroot
  • Menggunakan SIGSTOP/SIGCONT untuk pembekuan proses
  • Program yang dapat dieksekusi secara native harus dikompilasi untuk sistem operasi lokal

Solusi Alternatif dan Preferensi Komunitas

Diskusi ini telah menyoroti beberapa pendekatan alternatif untuk pengembangan Lambda lokal, termasuk SST ( sst.dev ) yang menawarkan kemampuan pengembangan Lambda lokal secara langsung. Beberapa pengembang yang memiliki pengalaman dengan Serverless Framework telah mengungkapkan ketertarikan pada ' fun ' sebagai alternatif yang berpotensi lebih sederhana, meskipun yang lain mencatat bahwa ini melayani tujuan yang berbeda, fokus secara khusus pada simulasi runtime lokal daripada manajemen deployment penuh.

Pertimbangan Implementasi Teknis

Implementasi alat ini mengungkapkan pertimbangan teknis penting untuk pengembangan Lambda. Ini mendukung beberapa versi Node.js (dari 6.10 hingga 14.x) dan runtime Python, meskipun beberapa anggota komunitas mencatat tidak adanya dukungan Ruby. Perbedaan runtime antara lingkungan pengembangan lokal dan produksi, terutama mengenai manajemen proses dan konteks keamanan, tetap menjadi pertimbangan penting bagi pengembang.

Sebagai kesimpulan, sementara ' fun ' menyediakan alat yang berharga untuk pengembangan Lambda lokal, diskusi komunitas mengungkapkan pertanyaan yang lebih luas tentang paradigma serverless dan implementasinya. Perdebatan ini terus membentuk bagaimana pengembang mendekati strategi pengembangan dan deployment fungsi cloud.

Referensi: fun - Runtime pengembangan fungsi λ serverless lokal