Stelvio: Alat AWS Python-Native Baru Muncul sebagai Alternatif Framework Serverless yang Dicari

BigGo Editorial Team
Stelvio: Alat AWS Python-Native Baru Muncul sebagai Alternatif Framework Serverless yang Dicari

Di komunitas pengembang Python, sebuah alat manajemen infrastruktur AWS baru bernama Stelvio mendapatkan perhatian karena para pengembang mencari alternatif untuk solusi yang sudah ada. Saat ini dalam tahap alpha awal, Stelvio bertujuan untuk menyederhanakan deployment cloud bagi pengembang Python dengan memungkinkan mereka mendefinisikan infrastruktur AWS menggunakan kode Python murni daripada konfigurasi JSON atau bahasa lainnya.

Lanskap Terfragmentasi dari Alat Python AWS

Ekosistem saat ini untuk pengembang Python yang bekerja dengan arsitektur serverless AWS sangat terfragmentasi. Para pengembang dalam komunitas telah menyoroti berbagai solusi yang ada termasuk Zappa, Chalice, Serverless Framework, AWS CDK, CloudFormation, dan AWS SAM—masing-masing dengan keterbatasannya sendiri. Banyak dari alat-alat ini yang ditinggalkan, tidak dirawat dengan baik, memerlukan konfigurasi non-Python, atau tidak dirancang khusus untuk pengembang Python.

Saya pikir sungguh mengherankan bahwa komunitas Python memiliki sekitar 5 solusi setengah jadi untuk masalah ini, yang semuanya entah ditinggalkan, monetisasi buruk, atau memiliki UI yang aneh.

Sentimen ini mencerminkan frustrasi yang dirasakan banyak pengembang Python ketika mencoba men-deploy aplikasi serverless ke AWS. Perubahan mendadak oleh Serverless Framework—yang beralih ke model berbayar di versi 4—semakin mengintensifkan pencarian alternatif yang dapat diandalkan, dengan beberapa pengembang menyebutkan fork yang dikelola komunitas seperti osls sebagai solusi sementara.

Alat Deployment AWS Python yang Disebutkan dalam Diskusi:

  • Stelvio (Alpha awal) - Infrastruktur sebagai kode berbasis Python
  • Zappa - Menggunakan konfigurasi JSON
  • Chalice - Tampaknya ditinggalkan, mencampur infrastruktur dengan kode aplikasi
  • Serverless Framework - Baru-baru ini beralih ke model berbayar di v4
  • osls - Pengganti Serverless Framework open-source
  • AWS CDK - Lebih bertele-tele tetapi komprehensif
  • CloudFormation - Bahasa template AWS tingkat rendah
  • AWS SAM - CloudFormation yang disederhanakan untuk serverless
  • Mangum - Membungkus aplikasi ASGI untuk deployment Lambda

Fitur Stelvio Saat Ini:

  • Dukungan AWS Lambda
  • Integrasi Amazon DynamoDB
  • Konfigurasi API Gateway
  • Pengelolaan peran/kebijakan IAM otomatis
  • Konfigurasi berbasis Python

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

  • Dependensi Lambda & layer
  • Indeks DynamoDB
  • Dukungan CORS
  • Authorizer API Gateway

Pendekatan Developer-First dari Stelvio

Stelvio membedakan dirinya dengan berfokus khusus pada pengembang Python daripada ahli infrastruktur. Pembuat alat ini, Michal, menjelaskan bahwa meskipun AWS CDK merupakan peningkatan signifikan dibandingkan CloudFormation dan Terraform, alat infrastruktur masih dapat dibuat lebih ramah pengembang.

Pendekatan Stelvio menekankan kode boilerplate minimal melalui default yang cerdas. Misalnya, membuat tabel DynamoDB dengan integrasi API Gateway hanya membutuhkan beberapa baris kode Python, secara otomatis menangani pembuatan kebijakan IAM, peran, sumber daya API Gateway, metode, integrasi, dan grup log CloudWatch—tugas yang akan membutuhkan kode yang jauh lebih banyak di AWS CDK.

Prinsip desain utama Stelvio adalah pemisahan kode infrastruktur dari kode aplikasi, tidak seperti beberapa alternatif yang mencampurnya melalui dekorator atau mekanisme lain. Pemisahan yang bersih ini selaras dengan praktik terbaik rekayasa perangkat lunak sambil mempertahankan kesederhanaan yang diharapkan pengembang Python.

Kemampuan Saat Ini dan Roadmap Masa Depan

Saat ini, Stelvio mendukung AWS Lambda, Amazon DynamoDB, API Gateway, dan konfigurasi IAM otomatis. Menurut pengembangnya, versi 0.2.0 diharapkan rilis pada April 2025 dengan dukungan untuk dependensi lambda dan layer, indeks DynamoDB, CORS, dan otorisasi API Gateway. Versi 0.3.0 akan memperkenalkan alat CLI khusus.

Sementara implementasi saat ini berfokus pada komponen serverless, pengembang telah mengindikasikan rencana untuk cakupan layanan AWS yang lebih luas di luar penawaran Lambda/API/DynamoDB awal, berpotensi termasuk konfigurasi VPC, gateway NAT, dan grup keamanan. Ada juga kemungkinan ekspansi di luar AWS ke layanan seperti Cloudflare.

Penerimaan Komunitas dan Debat Berkelanjutan

Penerimaan di kalangan pengembang Python umumnya positif, dengan banyak yang mengekspresikan ketertarikan pada alat yang menyederhanakan manajemen infrastruktur AWS menggunakan sintaks Python yang familiar. Beberapa pengembang yang saat ini berjuang dengan pembuatan API Gateway telah mengindikasikan mereka akan mengadopsi Stelvio ketika mencapai kesiapan produksi.

Namun, diskusi komunitas juga mengungkapkan debat berkelanjutan tentang pilihan arsitektur. Beberapa pengembang mempertanyakan fokus pada Lambda dan DynamoDB, menyarankan bahwa server tradisional dan database relasional mungkin lebih baik melayani aplikasi saat mereka matang dan persyaratan berkembang. Yang lain menanyakan tentang keputusan untuk membangun di atas Pulumi daripada menggunakan boto3 secara langsung, yang dijawab pengembang dengan manfaat seperti manajemen state dan potensi multi-cloud.

Seiring infrastruktur cloud terus bertumbuh dalam kompleksitas, alat seperti Stelvio mewakili upaya untuk membuat deployment lebih mudah diakses oleh pengembang yang ingin fokus pada membangun aplikasi daripada mengelola detail infrastruktur. Apakah Stelvio akan berhasil di mana alat lain telah berjuang masih harus dilihat, tetapi pendekatan Python-native dan fokus pada pengalaman pengembang tampaknya mengatasi titik-titik nyeri yang nyata dalam komunitas.

Referensi: Stelvio