世界を動かす技術を、日本語で。

MiniStack(LocalStackの代替品)

概要

LocalStackの無料版が有料化。MiniStackは無料・MITライセンスで33のAWSサービスを単一ポートで提供。 本物のPostgres・Redis・Dockerコンテナをサポートし、アカウント登録やAPIキー不要。 LocalStack Communityの代替として、CI/CDやローカル開発に最適。 起動2秒・アイドル時30MB RAM・150MBの軽量Dockerイメージ。 AWS CLIやboto3など既存ツールと完全互換。

MiniStack:LocalStack 無料代替サービスの紹介

  • LocalStack無料版の有料化 により、多くの開発者がローカル開発環境の選択肢を見直す必要性
  • MiniStackMITライセンス で、 33種類のAWSサービス を一つのポートで提供
  • Dockerコマンド一発 で即利用可能(例: $ docker run -p 4566:4566 nahuelnucera/ministack
  • アカウント登録・APIキー・テレメトリ不要 で、プライバシー重視
  • 起動2秒・RAM30MB(アイドル時)・Dockerイメージ150MB の軽量設計
  • 763件のテストに合格、信頼性の高い動作保証
  • AWS CLIやboto3、Terraform、CDK、Pulumi など、AWS公式ツールと 設定変更不要で互換
  • Postgres・Redis・Dockerコンテナ は本物を利用、モックやスタブでなく実際の動作を再現

サポートするAWSサービス一覧

  • S3 :バケット、オブジェクト、バージョニング、暗号化、ライフサイクル、CORS、オブジェクトロック、レプリケーション
  • SQS :キュー、FIFO、DLQ、バッチ処理、可視性タイムアウト
  • SNS :トピック、サブスクリプション、SQSへのファンアウト、バッチ配信
  • DynamoDB :テーブル、CRUD、クエリ、スキャン、トランザクション、TTL、GSI
  • Lambda :Python実行、本物のワーカー、SQSイベントソース、レイヤー
  • IAM :ユーザー、ロール、ポリシー、グループ、インスタンスプロファイル、OIDC
  • STS :CallerIdentity、AssumeRole、GetSessionToken
  • Secrets Manager :CRUD、バージョニング、ローテーション、リソースポリシー
  • CloudWatch Logs :グループ、ストリーム、保持、サブスクリプションフィルタ、メトリクス
  • SSM :パラメータストア(String/SecureString)、パス、ラベル、タグ
  • EventBridge :バス、ルール、ターゲット、Lambdaディスパッチ、アーカイブ
  • Kinesis :ストリーム、シャード分割/統合、消費者、暗号化、監視
  • CloudWatch Metrics :メトリクス、アラーム、ダッシュボード、履歴
  • SES :メール送信、ID管理、設定セット
  • Step Functions :ASLエンジン、同期実行、タスクトークン、全ステートタイプ
  • API Gateway v2/v1 :HTTP/REST API、Lambdaプロキシ、パスパラメータ、データプレーン
  • RDS :本物のPostgres/MySQLコンテナ
  • ElastiCache :本物のRedis/Memcachedコンテナ、ユーザー管理
  • ECS :RunTaskで本物のDockerコンテナを起動
  • Glue :カタログ、クローラー、ジョブ、トリガー、ワークフロー
  • Athena :DuckDBによる本物のSQL実行(DuckDB未導入時はモック)
  • Firehose :デリバリーストリーム、S3連携、暗号化、タグ
  • Route53 :ホストゾーン、レコードセット、ヘルスチェック、タグ、エイリアス
  • Cognito :ユーザープール、認証フロー、TOTP MFA、IDプール、連携認証
  • EC2 :インスタンス、VPC、サブネット、セキュリティグループ、ルートテーブル、ENI、EIP、NAT、NACL、フローログ、VPCピアリング、DHCP、EGW
  • EMR :クラスター、ステップ、インスタンスグループ/フリート、ブートストラップ(LocalStack Proのみ有料)
  • EBS/EFS :ボリューム、スナップショット、アタッチ/デタッチ、マウントターゲット、アクセスポイント、ライフサイクル(LocalStack Proのみ有料)
  • ALB/ELBv2 :ロードバランサー、ターゲットグループ、リスナー、ルール、Lambdaターゲット、ライブデータプレーン(LocalStack Proのみ有料)
  • ACM :証明書申請・インポート・記述・DNS検証・SANs・タグ
  • SES v2 :SendEmail、ID、設定セット、アカウント抑制
  • WAF v2 :WebACL、IPセット、ルールグループ、リソース関連付け、LockToken(LocalStack Proのみ有料)

LocalStackとの比較

  • LocalStack Free :コアサービスは有料化、RDS/ElastiCache/ECS/Athena/Glueなどは利用不可
  • LocalStack Pro :全サービス利用可能だが月額$35以上、ライセンス制限あり
  • MiniStack :全33サービスが 無料・MITライセンス、本物のインフラを提供
  • 起動時間 :MiniStackは約2秒、LocalStackは15~30秒
  • アイドル時メモリ :MiniStackは約30MB、LocalStackは約500MB
  • Dockerイメージサイズ :MiniStackは150MB、LocalStackは約1GB

MiniStackの特徴

  • 本物のインフラ :RDSはPostgres/MySQLの本物のDockerコンテナ、ElastiCacheは本物のRedis、ECSは本物のDockerコンテナを起動
  • SQL互換 :AthenaはDuckDB導入時に本物のSQLクエリを実行
  • AWS公式SDK・CLI・IaCツールと完全互換
  • MITライセンス :商用利用・フォーク・組み込み自由
  • 1コマンドでローカル開発環境が完成
  • 追加費用不要・サインアップ不要・APIキー不要

まとめ:MiniStackの導入メリット

  • LocalStack無料版の代替 として、コスト・機能・互換性の全てで優位
  • 本物のインフラ で、CI/CDやローカル開発の信頼性向上
  • シンプルな導入軽量設計 で、開発環境の高速化と省リソース化
  • 完全無料・MITライセンス で、スタートアップから大規模開発まで幅広く対応
  • 今すぐ利用可能
    • $ docker run -p 4566:4566 nahuelnucera/ministack

Hackerたちの意見

うわぁ、LocalStackのライセンス変更のニュースは知らなかった。前の仕事で、LocalStackを使ってローカル開発やCI/CD、GHアクションでのテストをやってたけど、すごく良い結果が出てたんだ。密かにAmazonがLocalStackを買収して、AWSのための公式な無料ローカル開発環境にしてくれたらいいなと思ってたけど、そうなるとAWSベースの開発やテスト環境にかかる収益が減っちゃうだろうね。AWS CLIとの互換性は、私の経験ではほぼ完璧だったよ。

AWS CLIとの互換性は、私の経験ではほぼ素晴らしかった。面白いね、私は逆の経験をしてる。LocalStackでテストを作ろうとしたAWSサービスは、すべて互換性の問題にぶつかってる。大体、LocalStackでは動くけど、実際のエンドポイントに当たると失敗することが多い。CLI自体は大体動いてると思うけど、LocalStackのサービスが実際のサービスのドキュメント通りに動いてないって感じだね。

正直、LocalStackの最終的な狙いがよくわからない。うちの会社は今、エンタープライズライセンスを持ってるから、最近の変更は短期的には影響ないけどね。今のところ、LocalStackのユーザーとしては満足してる。ただ、全体的な方向性にはちょっと失望してるけど、悪意はないし、彼らには彼らなりの理由があるんだろう。頑張ってほしいな。今回の変更が、既存の収入源を強化して現エンタープライズ顧客を囲い込むためだけの短期的な試みじゃないことを願ってる。それだと、ほんの短期間しか持たないからね。無料の競合や、公開されているAWS SDKコードから簡単に作れるプライベートな一発屋に顧客が流れるのは目に見えてる。もしかしたら、もうそのプレッシャーを感じていて、これがその変更の全てかもしれない。そうじゃないことを願うけど。私の見たところ、長期的に顧客を維持するための明確な強みはないみたい。例えば、彼らの「Pods」やコンソールUIには全く興味がないから、それでずっと引き留められることはないよ。彼らのためにも、まだ他の選択肢を探していて、コミュニティ版を廃止するためのVCの毒薬を飲まされてないことを願ってる。本当に、誰にも予測はつかないけどね。

Copyright (c) 2024 MiniStack Contributors もう嘘ついてるか、全然レビューされてないAIのゴミ?

ゴミのコピー

うん、古いリポジトリからコピーしちゃったごめんね…貢献ありがとう! https://github.com/Nahuel990/ministack/blob/master/CHANGELOG...

別の選択肢、HNで以前に見たやつ: https://news.ycombinator.com/item?id=47420619

透明性があって良かったね。「Jack DangerがAIで完全に構築 | すべてのプロンプトはprompts/に保存されています」

これまでにそれ(却下された)、Floci(イマイチ)、で今これを見てる。これは7日前のやつだね。ローカルスタックの代替を早く手に入れたいけど、まだ成熟するには時間がかかりそう。これが今のソフトウェアの状態なのかな?ピカピカのウェブサイト、大きな主張、AIでコーディング、でもテストは不十分。

どんなクローンがLocalStackができなかったことを実現できるのか、全然見当がつかない。たくさんのAWSサービスとの互換性を保ちながら、報酬なしでやるなんて無理だと思う。もしこれが実現可能なら、なんで今までうまくいかなかったの?考えられるのは、LocalStackがただのコードベースのゴミで、速度を維持できなかったか、貢献者を引き寄せられなかったか、あるいは新しい貢献者を育てるのに失敗したとかそんな感じかな。

「LocalStackはただのコードベースのゴミだった」って、まさにその通り。互換性のあるサービスのスイートを半自動的に作成する可能性はあると思うけど、かなり才能のあるLLMの使い方と新しいテストアプローチが必要になるだろうね。私がやりたいことではないな。Flociを評価したけど、期待通りの新しいバイブのコードの典型的な問題があったよ。

まあ、(他にもいろいろあるけど)LLMがこれを変えてるんだろうね。AWSのドキュメントを使ったり、AWS APIコールをインターセプトしてAIエージェントに真似させることができるから、そんなに多くの貢献者は必要なくなった。もちろん、テストや検証を維持するためには貢献者はまだ必要だけど。

こんにちは!Localstackのような広範なカバレッジは持てないと思う…「次のLocalstack」を目指してるわけじゃないんだ。LSコミュニティで無料で提供されていたコアサービスを最新の状態に保ちたいだけなんだよ。MWAAのような大きなサービスを探してるなら、ごめんけどサポートしないよ…ほとんどのコアAWSサービスは、そもそもあまり更新されないし(APIは大きく変わったり頻繁に変わったりしないから)。

個人的には、いくつかのコアサービス(sqs、s3、kms、あとdynamoもかな)をしっかり互換性のあるベース機能で、軽量のGUIインターフェースと永続性があれば価値を感じるかな。もしエソテリックな機能やローカルでは意味のない「大きな」機能に手を出すなら、実際のAWSの開発アカウントを立ち上げるよ。本物の体験ができるからね。

これが手作業だと仮定するならそうだけど、もちろん、よく文書化されたAPIサービスとAIコーディングツールがあれば、特定のサービスの機能的なローカル版を作るのはそんなに難しくないよ。

もしこれが実現可能なら、以前に成功しなかった理由は何だろう?何かが整ってなかったからだよ。後発が勝った例は山ほどあって、しばしば先発が早すぎたか、技術が整ってなかったか、市場が価値を理解してなかったか、などが理由だね。この場合、先発よりも得られる大きなメリットが三つあると思う。- AWSは成熟しているから、動きが遅くなっていて、追いつきやすい。- AIは80%の動作するコードを作るのに役立つから、追いつくためにやるべきことがずっと少ない。- 価格変更の影響でLocalStackから移行を考えている開発者がたくさんいるから、OSSの代替に貢献してくれるボランティアのプールが(潜在的に)得られるかもしれない。LocalStackのオープンソース版から、何が必要で、何がうまくいくか、何がうまくいかないかを学ぶこともできるよ。

GCPの同等品は何?

Claudeのサイン入りのずれたASCII図があるプロジェクトは、私には「使うな」と叫んでる。生成されたREADMEすら読まないなら、他のものもQCしてるかどうか分からないじゃん。少なくともREADMEやウェブサイトに書かれているサポートされている機能が完全に偽物かもしれないし、これはすごくよくあることだよ、みんなが盛り上がってるShow HNの中では。 https://github.com/Nahuel990/ministack/blob/a1b1d20a27d2238d...

今はスロップの黄金時代だね。驚くほど少数の人しか、AIに対する本能的な嫌悪感を持ってないみたい。

でも兄弟、彼は推論速度で出荷してるよ!

そうだね。せめてその後にフォーマッターをかけるべきだよね…Claudeにそれをやらせるフックも設定できるし。

このプロジェクトの人間によるレビューが全然足りないって指摘したコメントが、証拠付きでめっちゃフラグ立てられてるのが面白い。しかも反論もゼロ。人間の品質管理がゼロのまま、毎日ハッキングされるような「素晴らしい未来」の到来が待ち遠しいね。

角が丸いASCIIはすでに赤信号だし、整列も確認できないなんて論外。Claudeはこれが大好きなんだよね。もっとリアルな感じだと、こんなのがいいと思う:+-----+ | foo | +-----+

Localstackのライセンス変更にイライラしてて、ministackを評価するつもり。でも、すぐに解決が必要な人には、community-archiveタグに固定すればすぐに解決できるはずだよ! https://hub.docker.com/layers/localstack/localstack/communit...

LocalStackの本当の問題は、常にドリフトだった。ローカルではテストが通るのに、ステージングではS3のレスポンスフォーマットが少し違ったり、DynamoDBのスロットリングが合わなかったりして壊れる。何度も痛い目に遭ったから、統合テストには短命の本物のAWS環境に切り替えた。高くつくけど、プロダクションでの驚きがずっと少ないからね。

LocalStackはスニッフテストみたいなもんだと思う。つまり、LocalStackを通らないなら、もっと高い本物のAWS統合テストは実行しないってこと。言い換えれば、食べ物みたいに、スニッフテストを通らない限りコストはかけないってことだね。

DynamoDBについては詳しいんだけど、このコードはサービスの例外処理や入力バリデーション、最終的な整合性、エッジケースをちゃんと模倣してないよ。Ministackで開発したり、テストを実行するのはちょっと不安だな。これらのサービスには無料プランもあるから、使い道はかなり限られてるし。