Stelvio: Alat AWS Berasaskan Python Baharu Muncul Ketika Alternatif Rangka Kerja Tanpa Pelayan Dicari

BigGo Editorial Team
Stelvio: Alat AWS Berasaskan Python Baharu Muncul Ketika Alternatif Rangka Kerja Tanpa Pelayan Dicari

Dalam komuniti pembangun Python, satu alat pengurusan infrastruktur AWS baharu yang dipanggil Stelvio sedang mendapat perhatian ketika pembangun mencari alternatif kepada penyelesaian sedia ada. Kini dalam fasa alfa awal, Stelvio bertujuan untuk memudahkan penempatan awan bagi pembangun Python dengan membolehkan mereka menentukan infrastruktur AWS menggunakan kod Python tulen berbanding konfigurasi JSON atau bahasa lain.

Landskap Alat AWS Python yang Berpecah-belah

Ekosistem semasa untuk pembangun Python yang bekerja dengan seni bina tanpa pelayan AWS jelas berpecah-belah. Pembangun dalam komuniti telah menyoroti pelbagai penyelesaian sedia ada termasuk Zappa, Chalice, Serverless Framework, AWS CDK, CloudFormation, dan AWS SAM—masing-masing dengan kekangan tersendiri. Banyak alat ini sama ada ditinggalkan, kurang diselenggara, memerlukan konfigurasi bukan Python, atau tidak direka khusus untuk pembangun Python.

Saya rasa ia mengagumkan bagaimana komuniti python mempunyai kira-kira 5 penyelesaian separuh masak untuk masalah ini, yang semuanya sama ada ditinggalkan, kurang dimonetasi, atau mempunyai antara muka pengguna yang tidak kemas.

Sentimen ini mencerminkan kekecewaan yang dirasai oleh ramai pembangun Python ketika cuba mengerahkan aplikasi tanpa pelayan ke AWS. Perubahan mendadak oleh Serverless Framework—yang bertukar kepada model berbayar dalam versi 4—telah meningkatkan lagi pencarian alternatif yang boleh dipercayai, dengan sesetengah pembangun menyebut cabang yang diselenggarakan komuniti seperti osls sebagai penyelesaian sementara.

Alat Penempatan AWS Python Semasa yang Disebut dalam Perbincangan:

  • Stelvio (Alfa awal) - Infrastruktur berasaskan Python sebagai kod
  • Zappa - Menggunakan konfigurasi JSON
  • Chalice - Kelihatan ditinggalkan, mencampurkan infrastruktur dengan kod aplikasi
  • Serverless Framework - Baru-baru ini beralih kepada model berbayar dalam v4
  • osls - Pengganti Serverless Framework sumber terbuka
  • AWS CDK - Lebih panjang lebar tetapi komprehensif
  • CloudFormation - Bahasa templat AWS tahap rendah
  • AWS SAM - CloudFormation yang dipermudahkan untuk serverless
  • Mangum - Membungkus aplikasi ASGI untuk penempatan Lambda

Ciri-ciri Semasa Stelvio:

  • Sokongan AWS Lambda
  • Integrasi Amazon DynamoDB
  • Konfigurasi API Gateway
  • Pengurusan peranan/polisi IAM automatik
  • Konfigurasi berasaskan Python

Akan Datang dalam Stelvio v0.2.0 (April 2025):

  • Kebergantungan Lambda & lapisan
  • Indeks DynamoDB
  • Sokongan CORS
  • Pengesah API Gateway

Pendekatan Mengutamakan Pembangun oleh Stelvio

Stelvio membezakan dirinya dengan memberi tumpuan khusus kepada pembangun Python berbanding pakar infrastruktur. Pencipta alat ini, Michal, menerangkan bahawa walaupun AWS CDK merupakan peningkatan yang ketara berbanding CloudFormation dan Terraform, alat infrastruktur masih boleh dibuat lebih mesra pembangun.

Pendekatan Stelvio menekankan kod boilerplate yang minimum melalui tetapan lalai yang pintar. Sebagai contoh, mencipta jadual DynamoDB dengan integrasi API Gateway hanya memerlukan beberapa baris kod Python, secara automatik mengendalikan penciptaan dasar IAM, peranan, sumber API Gateway, kaedah, integrasi, dan kumpulan log CloudWatch—tugas yang akan memerlukan lebih banyak kod dalam AWS CDK.

Prinsip reka bentuk utama Stelvio adalah pemisahan kod infrastruktur daripada kod aplikasi, tidak seperti beberapa alternatif yang mencampurkan mereka melalui penghias (decorators) atau mekanisme lain. Pemisahan yang jelas ini sejajar dengan amalan terbaik kejuruteraan perisian sambil mengekalkan kesederhanaan yang diharapkan oleh pembangun Python.

Keupayaan Semasa dan Pelan Masa Depan

Pada masa ini, Stelvio menyokong AWS Lambda, Amazon DynamoDB, API Gateway, dan konfigurasi IAM automatik. Menurut pembangun, versi 0.2.0 dijangka pada April 2025 dengan sokongan untuk kebergantungan lambda dan lapisan, indeks DynamoDB, CORS, dan pengesah API Gateway. Versi 0.3.0 akan memperkenalkan alat CLI khusus.

Walaupun pelaksanaan semasa memberi tumpuan kepada komponen tanpa pelayan, pembangun telah menunjukkan rancangan untuk liputan perkhidmatan AWS yang lebih luas melampaui tawaran Lambda/API/DynamoDB awal, berpotensi termasuk konfigurasi VPC, get NAT, dan kumpulan keselamatan. Terdapat juga sebutan tentang kemungkinan pengembangan di luar AWS ke perkhidmatan seperti Cloudflare.

Penerimaan Komuniti dan Perbahasan Berterusan

Penerimaan dalam kalangan pembangun Python secara umumnya positif, dengan ramai yang menyatakan minat terhadap alat yang memudahkan pengurusan infrastruktur AWS menggunakan sintaks Python yang biasa. Sesetengah pembangun yang kini menghadapi masalah dengan penciptaan API Gateway telah menunjukkan bahawa mereka akan mengguna pakai Stelvio apabila ia mencapai kesediaan produksi.

Walau bagaimanapun, perbincangan komuniti juga mendedahkan perbahasan berterusan mengenai pilihan seni bina. Sesetengah pembangun mempersoalkan tumpuan pada Lambda dan DynamoDB, mencadangkan bahawa pelayan tradisional dan pangkalan data hubungan mungkin lebih baik untuk aplikasi apabila ia matang dan keperluan berkembang. Yang lain bertanya tentang keputusan untuk membina di atas Pulumi berbanding menggunakan boto3 secara langsung, yang mana pembangun memetik faedah seperti pengurusan keadaan dan potensi pelbagai awan.

Ketika infrastruktur awan terus berkembang dalam kerumitan, alat seperti Stelvio mewakili percubaan untuk menjadikan penempatan lebih mudah diakses oleh pembangun yang ingin memberi tumpuan kepada pembinaan aplikasi berbanding menguruskan butiran infrastruktur. Sama ada Stelvio akan berjaya di mana alat lain telah menghadapi kesukaran masih perlu dilihat, tetapi pendekatan asli Python dan tumpuan pada pengalaman pembangun nampaknya menangani titik kesakitan sebenar dalam komuniti.

Rujukan: Stelvio