38 poin oleh GN⁺ 18 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Emulator open source gratis yang dapat mereplikasi lingkungan AWS sepenuhnya secara lokal, dikembangkan sebagai alternatif untuk LocalStack yang kini berbayar
  • Menjalankan 34 layanan AWS pada satu port, serta benar-benar menyalakan kontainer Postgres, Redis, dan Docker untuk menyediakan lingkungan pengujian setingkat infrastruktur
  • Sepenuhnya kompatibel dengan AWS SDK, CLI, Terraform, CDK, Pulumi, dan didistribusikan dengan lisensi MIT tanpa pendaftaran akun maupun telemetri
  • Ringan dan cepat untuk dijalankan secara lokal dengan waktu mulai 2 detik, penggunaan memori 30MB, dan image Docker 150MB
  • Semua fitur tersedia gratis, sehingga bisa membangun lingkungan pengembangan AWS lokal lengkap yang menggantikan fitur LocalStack Pro

Gambaran umum MiniStack

  • MiniStack adalah alat open source gratis yang dapat mengemulasikan lingkungan AWS sepenuhnya secara lokal, dirancang sebagai alternatif untuk LocalStack yang kini berbayar
  • Menjalankan 34 layanan AWS pada satu port, menggunakan Postgres, Redis, dan kontainer Docker sungguhan
  • Berjalan tanpa pendaftaran akun, kunci lisensi, atau telemetri jarak jauh, dan didistribusikan dengan lisensi MIT
  • Memiliki waktu mulai sekitar 2 detik, penggunaan memori idle 30MB, dan ukuran image Docker 150MB
  • Setelah versi Community dari LocalStack menjadi berbayar, MiniStack diposisikan sebagai solusi alternatif gratis yang menawarkan pengalaman pengembangan serupa

Fitur dan layanan utama

  • RDS, ElastiCache, ECS dan lainnya menyediakan lingkungan infrastruktur nyata dengan menjalankan kontainer Docker sungguhan
  • Athena menjalankan kueri SQL nyata melalui DuckDB, dan mengembalikan hasil tiruan jika belum terpasang
  • Menjaga kompatibilitas AWS SDK, sehingga dapat digunakan bersama boto3, AWS CLI, Terraform, CDK, Pulumi, dan lainnya
  • Semua layanan tersedia gratis, tanpa batasan fitur atau pemisahan paket berbayar
  • 34 layanan AWS yang disertakan

    • S3: mendukung bucket, objek, versioning, enkripsi, lifecycle, CORS, replikasi, dan lainnya
    • SQS: mendukung fitur antrean seperti FIFO, DLQ, batch, visibility, dan lainnya
    • SNS: mendukung topik, subscription, fanout ke SQS, dan batch publish
    • DynamoDB: mendukung CRUD, query, scan, transaksi, TTL, GSI
    • Lambda: mendukung eksekusi Python nyata, pemetaan event SQS, dan Layers
    • Termasuk sebagian besar layanan inti AWS seperti IAM / STS / Secrets Manager / CloudWatch / SSM / EventBridge / Kinesis / SES / Step Functions / API Gateway v1·v2 / Route53 / Cognito / EC2 / EMR / EBS / EFS / ALB / ACM / WAF / CloudFormation
    • RDS menjalankan kontainer Postgres/MySQL sungguhan, dan ElastiCache menjalankan kontainer Redis/Memcached sungguhan
    • ECS menjalankan kontainer Docker sungguhan, sementara Glue dan Athena menyediakan katalog data dan fungsi eksekusi SQL

Perbandingan dengan LocalStack

  • LocalStack Free telah menjadikan layanan inti berbayar, sedangkan MiniStack menyediakan fungsi serupa secara gratis
  • Fitur yang hanya tersedia di LocalStack Pro seperti Lambda, IAM, SSM, EventBridge, EC2, EMR, EBS, EFS, ALB, CloudFormation juga disertakan gratis
  • RDS, ElastiCache, ECS, Athena berjalan berbasis kontainer sungguhan
  • Dengan waktu mulai sekitar 2 detik, penggunaan memori 30MB, dan image Docker 150MB, MiniStack jauh lebih ringan dibanding LocalStack
  • Lisensinya adalah MIT, berbeda dari BSL/Proprietary milik LocalStack, dan harganya sepenuhnya gratis

Cara kerja berbasis infrastruktur nyata

  • RDS: saat perintah CreateDBInstance dijalankan, MiniStack membuat kontainer Docker Postgres/MySQL sungguhan yang bisa dihubungkan langsung melalui port lokal
  • ElastiCache: perintah CreateCacheCluster menjalankan kontainer Redis sungguhan yang dapat digunakan sebagai penyimpanan sesi dan lainnya
  • ECS: perintah RunTask menjalankan kontainer Docker sungguhan, sehingga definisi task ECS bisa diuji secara lokal
  • Athena: menjalankan kueri SQL nyata melalui DuckDB dan mengembalikan result set
  • Sepenuhnya kompatibel dengan semua alat AWS, dapat digunakan tanpa perubahan endpoint API

Deploy dan penggunaan

  • Dapat dijalankan dengan satu baris perintah Docker
    docker run -p 4566:4566 nahuelnucera/ministack
    
  • Semua layanan seperti S3, RDS, ElastiCache, dan lainnya dapat diakses melalui AWS CLI
  • Contoh:

Informasi lisensi dan distribusi

  • Didistribusikan dengan lisensi MIT, sehingga bebas untuk di-fork dan di-embed
  • Tersedia secara publik di GitHub dan Docker Hub
  • Pengembangnya adalah Nahuel, dan proyek ini direncanakan dipelihara hingga 2026

Pelajaran utama

  • MiniStack adalah alternatif LocalStack yang sepenuhnya gratis dan menyediakan lingkungan AWS lokal berbasis infrastruktur nyata
  • Ditandai dengan waktu mulai cepat, penggunaan sumber daya ringan, dan kompatibilitas SDK penuh
  • Semua fitur gratis, lisensi MIT, tanpa telemetri
  • Alat ini memberikan pengalaman pengujian yang sama seperti lingkungan produksi AWS dalam pengembangan lokal maupun lingkungan CI/CD

1 komentar

 
GN⁺ 18 hari lalu
Komentar Hacker News
  • Saya sangat paham DynamoDB
    Tetapi kode ini tidak meniru pengecualian layanan, validasi input, eventual consistency, dan edge case dengan baik
    Karena itu, rasanya tidak aman mengembangkan atau menguji berdasarkan ministack
    Lagi pula, banyak layanan AWS punya free tier, jadi tidak terlalu ada alasan kuat memakai pengganti seperti ini

    • Menurut saya, yang lebih penting daripada biaya adalah kecepatan iterasi pengembangan dan apakah ini bisa berjalan cepat di lingkungan CI
    • Tujuan ministack adalah untuk pengujian integrasi
      Artinya, ini dipakai untuk memverifikasi apakah aplikasi memanggil API yang benar dengan data yang benar
      Ini bukan pengganti jika Anda membutuhkan perilaku asli DynamoDB, misalnya batas kapasitas, jeda konsistensi, atau pemrosesan stream
      Namun, kontribusi untuk meningkatkan reproduksibilitas error selalu disambut baik
      Saat ini ProvisionedThroughputExceededException, TransactionConflictException, ItemCollectionSizeLimitExceededException, dan lainnya sedang menunggu
    • Menurut saya tetap berguna
      Pengujian dasar dilakukan dengan ministack, lalu biaya AWS sungguhan baru dikeluarkan pada tahap uji beban
    • Sebenarnya LocalStack juga belum mengimplementasikan semuanya dengan sempurna
  • Saya mempertimbangkan ministack karena tidak suka dengan perubahan lisensi LocalStack
    Untuk yang butuh solusi cepat, mengunci ke tag community-archive bisa langsung menyelesaikan masalah
    Tautan Docker Hub

    • Saya ingin tahu pendapat orang tentang floci
  • Saya rasa akan sulit bagi proyek tiruan mana pun untuk mengatasi alasan kegagalan LocalStack
    Mempertahankan kompatibilitas gratis untuk begitu banyak layanan AWS tampak tidak realistis
    Bisa jadi codebase LocalStack memang berantakan, atau mereka gagal mengelola kontributor

    • Untuk pertanyaan “kenapa dulu tidak berhasil?”, saya rasa sering kali second mover justru yang sukses
      Sekarang AWS sudah matang sehingga lajunya melambat, dan AI bisa dengan mudah menghasilkan 80% kode
      Selain itu, kenaikan harga LocalStack menciptakan kumpulan developer yang mencari alternatif open source
      Ada banyak hal juga yang bisa dipelajari dari versi open source LocalStack
    • Kami tidak menargetkan pengganti total untuk LocalStack
      Kami hanya ingin menjaga layanan inti versi komunitas lama tetap mutakhir
      Layanan besar seperti MWAA tidak akan kami dukung
      Karena sebagian besar layanan inti AWS hampir tidak mengalami perubahan API
    • Menurut saya, kompatibilitas stabil untuk layanan inti seperti SQS, S3, KMS, dan Dynamo saja sudah sangat bernilai
      Jika butuh fitur yang rumit di lokal, pakai saja akun pengembangan AWS sungguhan
    • Saya setuju bahwa codebase LocalStack memang berantakan
      Jika LLM dan pendekatan pengujian baru dimanfaatkan dengan baik, sepertinya kita bisa membuat kumpulan layanan kompatibel secara semi-otomatis
      Tapi saya sendiri tidak ingin terlibat langsung
      Saya juga sudah mencoba Floci, tetapi ada masalah khas kode tahap awal
    • Dengan dokumentasi API yang baik dan alat coding AI, saya rasa membuat layanan pengganti untuk lokal tidak sesulit yang dibayangkan
  • Masalah sebenarnya pada LocalStack adalah drift
    Pengujian lokal lolos, tetapi di staging sering rusak karena perbedaan format respons S3 atau throttling DynamoDB
    Akhirnya kami beralih ke menjalankan pengujian integrasi di lingkungan AWS sungguhan yang berumur pendek
    Memang lebih mahal, tetapi masalah tak terduga di produksi jauh berkurang

    • Saya rasa LocalStack sebaiknya dipakai sebagai semacam sniff test
      Artinya, kalau lolos di lokal, barulah pengujian integrasi AWS sungguhan dijalankan
  • Saya baru sekarang mendengar soal perubahan lisensi LocalStack
    Dulu saya cukup sering memakainya untuk pengujian CI/CD di GH Actions, dan kompatibilitasnya dengan AWS CLI juga lumayan bagus
    Sebenarnya saya berharap Amazon mengakuisisi LocalStack lalu menjadikannya lingkungan pengembangan lokal resmi
    Tetapi itu mungkin tidak realistis karena akan mengurangi pendapatan dari lingkungan pengujian AWS

    • Perusahaan kami saat ini punya lisensi enterprise, jadi untuk sementara belum terdampak
      Kami masih puas memakainya, tetapi kecewa dengan arahnya
      Semoga ini bukan langkah untuk mengejar keuntungan jangka pendek
      Dalam jangka panjang, pelanggan kemungkinan besar akan pindah ke alternatif gratis atau solusi personal berbasis GenAI
      Secara pribadi saya tidak tertarik pada Pods atau UI konsol LocalStack
      Saya harap mereka tidak menerima investasi VC dengan syarat menghapus edisi komunitas
    • Ada yang bilang kompatibilitas dengan AWS CLI memang bagus, tetapi perilaku layanan aslinya sering berbeda
      CLI bisa berjalan baik, tetapi layanan LocalStack sering berperilaku berbeda dari dokumentasi
  • Kalau melihat README dengan diagram ASCII buatan Claude yang berantakan, rasanya sulit percaya
    Kalau QC dasarnya saja tidak beres, penjelasan fiturnya pun sulit dipercaya
    Tautan contoh

    • “Tapi dia melakukan deploy dengan kecepatan penalaran!” adalah respons bercanda yang muncul
    • Terima kasih atas umpan balik yang detail
      Tautan CHANGELOG
    • Saya menyayangkan komentar yang menunjukkan masalah kualitas yang jelas malah di-flag tanpa bantahan
      Kalau begini terus, kode berkualitas rendah buatan AI akan makin banyak
    • ASCII dengan sudut membulat sudah merupakan red flag
      Kalau penyelarasan saja tidak dicek, makin sulit untuk percaya
    • Setidaknya mereka bisa menjalankan formatter, atau memasang hook format otomatis untuk Claude
  • Masih terlalu dini untuk dimasukkan ke SDLC, tetapi ini terlihat seperti proyek yang menjanjikan
    Dari sudut pandang orang yang kecewa dengan LocalStack, ini mungkin bisa jadi alternatif

  • Ada alternatif lain yang dulu sempat muncul di HN
    Tautan thread terkait

    • Saya suka transparansinya: “semuanya dibangun dengan AI, dan semua prompt disimpan”
    • Saya sedang mencoba proyek itu (yang ditolak), Floci (kurang bagus), lalu sekarang ini secara berurutan
      Ini adalah proyek yang baru berumur 7 hari
      Saya sangat ingin ada pengganti LocalStack, tetapi untuk saat ini tingkat kematangannya masih jauh kurang
      Rasanya perangkat lunak sekarang memang begini semua — situs web keren, klaim besar, kode AI, pengujian minim
  • Saya penasaran apa padanannya di GCP

    • GCP punya sekumpulan alat emulasi sendiri
      Saya tidak tahu kenapa Amazon tidak membuat hal seperti itu
      Itu akan jauh lebih memudahkan semua orang
  • Saya berharap ada fitur simulator biaya nyata