39 puan yazan GN⁺ 28 일 전 | 1 yorum | WhatsApp'ta paylaş
  • AWS ortamını yerelde tamamen yeniden oluşturabilen ücretsiz açık kaynaklı bir emülatör olup, ücretli hale gelen LocalStack'e alternatif olarak geliştirildi
  • 34 AWS servisini tek bir portta çalıştırır ve Postgres·Redis·Docker container'larını gerçekten ayağa kaldırarak altyapı seviyesinde bir test ortamı sunar
  • AWS SDK, CLI, Terraform, CDK, Pulumi vb. ile tam uyumludur ve hesap kaydı ya da telemetri olmadan MIT lisansı ile dağıtılır
  • 2 saniyelik açılış hızı, 30MB bellek kullanımı, 150MB Docker imajı ile hafif ve hızlı yerel çalıştırma sağlar
  • Tüm özellikler ücretsiz sunulur; böylece LocalStack Pro özelliklerinin yerini alan eksiksiz bir yerel AWS geliştirme ortamı kurulabilir

MiniStack genel bakış

  • MiniStack, AWS ortamını yerelde tamamen emüle edebilen ücretsiz açık kaynaklı bir araç olup, ücretli hale gelen LocalStack'e alternatif olarak tasarlandı
  • 34 AWS servisini tek bir portta çalıştırır ve gerçek Postgres, Redis, Docker container'ları kullanır
  • Hesap kaydı, lisans anahtarı veya uzaktan telemetri olmadan çalışır ve MIT lisansı ile dağıtılır
  • Yaklaşık 2 saniyelik açılış süresi, 30MB boşta bellek kullanımı ve 150MB Docker imaj boyutu sunar
  • LocalStack Community sürümü ücretli hale geldikten sonra, aynı geliştirme deneyimini ücretsiz sunan alternatif bir çözüm olarak öne çıkıyor

Başlıca özellikler ve servisler

  • RDS, ElastiCache, ECS gibi servislerde gerçek Docker container'ları çalıştırarak gerçek altyapı ortamı sağlar
  • Athena, DuckDB üzerinden gerçek SQL sorguları çalıştırır; kurulu değilse sahte sonuçlar döndürür
  • AWS SDK uyumluluğunu korur; bu sayede boto3, AWS CLI, Terraform, CDK, Pulumi vb. ile birlikte kullanılabilir
  • Tüm servisler ücretsiz sunulur; özellik kısıtı veya ücretli plan ayrımı yoktur
  • Dahil edilen 34 AWS servisi

    • S3: bucket, nesne, sürümleme, şifreleme, yaşam döngüsü, CORS, replikasyon vb. desteği
    • SQS: FIFO, DLQ, batch, visibility gibi kuyruk özellikleri desteği
    • SNS: topic, abonelik, SQS fan-out, toplu yayımlama desteği
    • DynamoDB: CRUD, sorgu, scan, transaction, TTL, GSI desteği
    • Lambda: gerçek Python yürütme, SQS event mapping, Layers desteği
    • 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 dahil olmak üzere AWS'nin temel servislerinin büyük bölümü
    • RDS, gerçek Postgres/MySQL container'larını; ElastiCache ise gerçek Redis/Memcached container'larını çalıştırır
    • ECS gerçek Docker container'ları çalıştırır; Glue ve Athena ise veri kataloğu ve SQL çalıştırma işlevleri sunar

LocalStack ile karşılaştırma

  • LocalStack Free'da temel servisler ücretli hale gelmişken, MiniStack aynı işlevleri ücretsiz sunar
  • Lambda, IAM, SSM, EventBridge, EC2, EMR, EBS, EFS, ALB, CloudFormation gibi LocalStack Pro'ya özel özellikler de ücretsiz dahildir
  • RDS, ElastiCache, ECS, Athena gibi servisler gerçek container tabanlı çalışır
  • Yaklaşık 2 saniyelik açılış hızı, 30MB bellek kullanımı, 150MB Docker imajı ile LocalStack'ten çok daha hafiftir
  • Lisansı, LocalStack'in BSL/Proprietary lisansından farklı olarak MIT'tir ve fiyatı tamamen ücretsizdir

Gerçek altyapı tabanlı çalışma

  • RDS: CreateDBInstance komutu verildiğinde gerçek bir Postgres/MySQL Docker container'ı oluşturur; yerel porttan doğrudan bağlanılabilir
  • ElastiCache: CreateCacheCluster komutuyla gerçek bir Redis container'ı çalıştırır; oturum deposu gibi amaçlarla kullanılabilir
  • ECS: RunTask komutuyla gerçek Docker container'ları çalıştırır; yerelde ECS task tanımlarını test etmeyi mümkün kılar
  • Athena: DuckDB üzerinden gerçek SQL sorguları çalıştırır ve sonuç kümesini döndürür
  • Tüm AWS araçlarıyla tam uyumludur, API endpoint'ini değiştirmeden kullanılabilir

Dağıtım ve kullanım

  • Tek satırlık bir Docker komutuyla çalıştırılabilir
    docker run -p 4566:4566 nahuelnucera/ministack
    
  • AWS CLI üzerinden S3, RDS, ElastiCache vb. tüm servislere erişilebilir
  • Örnekler:

Lisans ve dağıtım bilgileri

  • MIT lisansı ile dağıtılır; özgürce fork edilip gömülü olarak kullanılabilir
  • GitHub ve Docker Hub üzerinden herkese açık olarak sunulur
  • Geliştirici Nahuel'dir ve projenin 2026'ya kadar sürdürüleceği belirtiliyor

Temel çıkarım

  • MiniStack, LocalStack'in tamamen ücretsiz bir alternatifi olarak gerçek altyapı tabanlı yerel bir AWS ortamı sunar
  • Hızlı açılış süresi, hafif kaynak kullanımı ve tam SDK uyumluluğu ile öne çıkar
  • Tüm özellikler ücretsizdir, MIT lisanslıdır ve telemetri içermez
  • Yerel geliştirme ve CI/CD ortamlarında AWS production ortamıyla aynı test deneyimini sunan bir araçtır

1 yorum

 
GN⁺ 28 일 전
Hacker News görüşleri
  • DynamoDB hakkında iyi bilgi sahibiyim
    ama bu kod servis istisnalarını, girdi doğrulamasını, eventual consistency davranışını ve edge case’leri düzgün taklit etmiyor
    bu yüzden ministack üzerine geliştirme yapmak veya test çalıştırmak bana güven vermiyor
    ayrıca AWS’nin birçok servisinde ücretsiz katman var; bu yüzden böyle bir alternatifi kullanmak için güçlü bir gerekçe de yok

    • Bence maliyetten çok geliştirme iterasyon hızı ve CI ortamında ne kadar hızlı çalıştırılabildiği daha önemli
    • ministack’in hedefi entegrasyon testleri
      yani uygulamanın doğru veriyi doğru API’ye gönderip göndermediğini doğrulamak için var
      DynamoDB’nin gerçek davranışı gerekiyorsa (ör. kapasite limitleri, tutarlılık gecikmesi, stream işleme) bunun yerini tutmaz
      yine de hata yeniden üretilebilirliğini artıran katkılar her zaman memnuniyetle karşılanır
      şu anda ProvisionedThroughputExceededException, TransactionConflictException, ItemCollectionSizeLimitExceededException gibi durumlar beklemede
    • Yine de faydalı olduğunu düşünüyorum
      temel testleri ministack ile yapıp yalnızca yük testi aşamasında gerçek AWS maliyeti oluşturmak yeterli olur
    • Aslında LocalStack de kusursuz biçimde uygulanmış değildi
  • LocalStack’in lisans değişikliği hoşuma gitmediği için ministack’e bakıyorum
    acelesi olanlar community-archive etiketine sabitleyerek bunu hemen çözebilir
    Docker Hub bağlantısı

    • floci hakkında ne düşündüğünüzü merak ediyorum
  • Bence hiçbir kopya proje, LocalStack’in başarısız olduğu nedenleri aşmakta kolay kolay başarılı olamaz
    bu kadar çok AWS servisi için ücretsiz uyumluluğu sürdürmek gerçekçi görünmüyor
    LocalStack’in kod tabanı karmakarışık olabilir ya da katkıcı yönetiminde başarısız olmuş olabilir

    • “Peki daha önce neden olmadı?” sorusuna karşılık, ikinci gelenin avantajı (second mover) ile başarılı olan çok örnek olduğunu düşünüyorum
      bugün AWS olgunlaştı ve değişim hızı yavaşladı, ayrıca AI %80 seviyesinde kodu kolayca üretebiliyor
      bir de LocalStack’in fiyat artışı yüzünden açık kaynak bir alternatif arayan geliştirici kitlesi oluştu
      LocalStack’in açık kaynak sürümünden öğrenilecek çok şey de var
    • Bizim hedefimiz LocalStack’in birebir tam alternatifi olmak değil
      sadece eski community sürümünün çekirdek servislerini güncel tutmak istiyoruz
      MWAA gibi büyük servisleri desteklemeyi planlamıyoruz
      çünkü çoğu çekirdek AWS servisinde API değişiklikleri neredeyse hiç olmuyor
    • Bence SQS, S3, KMS, Dynamo gibi çekirdek servislerde kararlı uyumluluk bile başlı başına yeterince değerli
      yerelde daha karmaşık özellikler gerekirse gerçek bir AWS geliştirme hesabı kullanılabilir
    • LocalStack’in kod tabanının dağınık olduğu görüşüne katılıyorum
      LLM’ler ve yeni test yaklaşımları iyi kullanılırsa uyumlu servis setleri yarı otomatik şekilde oluşturulabilir gibi geliyor
      ama ben şahsen buna katkı vermek istemiyorum
      Floci’yi de denedim ama onda da erken dönem koda özgü sorunlar vardı
    • API dokümantasyonu iyi durumdaysa ve AI kodlama araçları kullanılıyorsa, yerel alternatif servisler yapmak sanıldığı kadar zor olmayabilir
  • LocalStack’in asıl sorunu drift idi
    yerel testler geçiyordu ama staging’de S3 yanıt formatı ya da DynamoDB throttling farkları yüzünden sık sık bozuluyordu
    sonunda ömrü kısa gerçek AWS ortamlarında entegrasyon testleri çalıştırmaya geçtik
    maliyet arttı ama production’da beklenmedik sorunlar çok daha azaldı

    • Bence LocalStack bir tür sniff test olarak kullanılabilir
      yani önce yerelde geçsin, ancak ondan sonra gerçek AWS entegrasyon testleri çalıştırılsın
  • LocalStack’in lisans değişikliği haberini ancak şimdi duydum
    eskiden GH Actions üzerinde CI/CD testleri için iyi iş görüyordu ve AWS CLI ile uyumluluğu da oldukça iyiydi
    açıkçası Amazon’un LocalStack’i satın alıp resmi yerel geliştirme ortamına dönüştürmesini umuyordum
    ama bu, AWS test ortamı gelirini azaltacağı için muhtemelen gerçekçi değildi

    • Şirketimiz şu anda enterprise lisansa sahip olduğu için kısa vadede bizi etkilemiyor
      hâlâ memnuniyetle kullanıyoruz ama gidişattan hayal kırıklığına uğradım
      umarım bu sadece kısa vadeli gelir yaratma hamlesi değildir
      uzun vadede müşteriler ücretsiz alternatiflere ya da GenAI tabanlı kişisel çözümlere kayabilir
      ben şahsen LocalStack’in Pods’una ya da konsol arayüzüne ilgi duymuyorum
      umarım community edition’ı kaldırma şartıyla VC yatırımı almamışlardır
    • AWS CLI ile uyumluluğun iyi olduğu söylenebilir ama gerçek servis davranışı sık sık farklıydı
      CLI düzgün çalışsa bile LocalStack servisleri çoğu zaman dokümantasyondan farklı davranıyordu
  • Claude’un yaptığı ASCII diyagramı kaymış bir README görünce güven duyamıyorum
    temel QC bile yapılmamış bir projeyse, özellik açıklamalarına da güvenmek zor
    örnek bağlantı

    • “Ama adam çıkarım hızında deploy ediyor!” diye yarı şaka bir tepki var
    • Ayrıntılı geri bildirim için teşekkürler
      CHANGELOG bağlantısı
    • Bu kadar bariz bir kalite sorununu işaret ettiğim hâlde bir karşı argüman olmadan flag yemesi üzücü
      bu gidişle AI üretimi düşük kaliteli kodların sayısı artmaya devam edecek gibi
    • Yuvarlak köşeli ASCII zaten başlı başına bir red flag
      hizalama bile kontrol edilmediyse güven daha da azalıyor
    • En azından bir formatter çalıştırılabilir ya da Claude için bir otomatik format hook’u ayarlanabilirdi
  • Bunu SDLC’ye katmak için henüz erken ama umut vadeden bir proje gibi görünüyor
    LocalStack konusunda hayal kırıklığı yaşamış biri olarak bunun bir alternatif olabileceğini düşünüyorum

  • Bir başka alternatif daha önce HN’de paylaşılmıştı
    ilgili tartışma bağlantısı

    • Her şey AI ile yapıldı ve tüm prompt’lar saklandı” şeklindeki şeffaflık hoşuma gitmişti
    • O projeyi (reddedildi), Floci’yi (pek iyi değildi) ve şimdi de bunu sırayla deniyorum
      bu daha sadece 7 günlük bir proje
      LocalStack alternatifi gerçekten istiyorum ama şimdilik olgunluk seviyesi çok düşük
      bugünlerde yazılımların çoğu böyle görünüyor — şık web sitesi, büyük iddialar, AI kodu, yetersiz test
  • GCP tarafında bunun karşılığı ne, merak ediyorum

    • GCP’nin kendi emülasyon araçları seti var
      Amazon neden böyle bir şey yapmıyor bilmiyorum
      herkes için çok daha kolay olurdu
  • Keşke gerçek maliyet simülatörü özelliği de olsaydı