MiniStack — मुफ़्त ओपन सोर्स लोकल AWS emulator
(ministack.org)- AWS environment को लोकल में पूरी तरह reproduce करने वाला मुफ़्त ओपन सोर्स emulator, जिसे paid हो चुके LocalStack के विकल्प के रूप में विकसित किया गया है
- 34 AWS services को एक single port पर चलाता है, और Postgres·Redis·Docker containers को वास्तव में run करके infrastructure-level test environment देता है
- AWS SDK, CLI, Terraform, CDK, Pulumi आदि के साथ पूरी तरह compatible है, और account registration या telemetry के बिना MIT license में वितरित किया जाता है
- 2 सेकंड startup speed, 30MB memory usage, 150MB Docker image के साथ हल्का और तेज़ लोकल execution संभव
- सभी features मुफ़्त में उपलब्ध हैं, इसलिए LocalStack Pro features को replace करने वाला पूरा लोकल AWS development environment बनाया जा सकता है
MiniStack का परिचय
- MiniStack एक मुफ़्त ओपन सोर्स tool है जो AWS environment को लोकल में पूरी तरह emulate कर सकता है, और इसे paid हो चुके LocalStack के विकल्प के रूप में design किया गया है
- 34 AWS services को एक single port पर चलाता है, और असल Postgres, Redis, Docker containers का उपयोग करता है
- यह account registration, license key, या remote telemetry के बिना काम करता है और MIT license में वितरित होता है
- इसमें लगभग 2 सेकंड startup time, 30MB idle memory usage, और 150MB Docker image size है
- LocalStack Community version के paid होने के बाद, इसे मुफ़्त में वही development experience देने वाले alternative solution के रूप में पेश किया गया है
मुख्य features और services
- RDS, ElastiCache, ECS आदि असली Docker containers चलाकर वास्तविक infrastructure environment उपलब्ध कराते हैं
- Athena DuckDB के जरिए असली SQL queries चलाता है, और install न होने पर mock results लौटाता है
- AWS SDK compatibility बनाए रखता है, इसलिए boto3, AWS CLI, Terraform, CDK, Pulumi आदि के साथ इस्तेमाल किया जा सकता है
- सभी services मुफ़्त में उपलब्ध हैं, और किसी feature limitation या paid plan का अंतर नहीं है
-
शामिल 34 AWS services
- S3: buckets, objects, versioning, encryption, lifecycle, CORS, replication आदि का समर्थन
- SQS: FIFO, DLQ, batch, visibility आदि queue features का समर्थन
- SNS: topics, subscriptions, SQS fanout, batch publish का समर्थन
- DynamoDB: CRUD, query, scan, transactions, TTL, GSI का समर्थन
- Lambda: असली Python execution, SQS event mapping, Layers का समर्थन
- 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 सहित ज़्यादातर AWS core services शामिल
- RDS असली Postgres/MySQL containers चलाता है, और ElastiCache असली Redis/Memcached containers चलाता है
- ECS असली Docker containers चलाता है, और Glue तथा Athena data catalog और SQL execution features देते हैं
LocalStack से तुलना
- LocalStack Free में core services paid हो चुकी हैं, लेकिन MiniStack वही features मुफ़्त में देता है
- Lambda, IAM, SSM, EventBridge, EC2, EMR, EBS, EFS, ALB, CloudFormation जैसी LocalStack Pro-only features भी मुफ़्त में शामिल हैं
- RDS, ElastiCache, ECS, Athena आदि असली container-based तरीके से काम करते हैं
- लगभग 2 सेकंड startup speed, 30MB memory usage, 150MB Docker image के साथ यह LocalStack से काफ़ी हल्का है
- License LocalStack के BSL/Proprietary से अलग MIT है, और price पूरी तरह मुफ़्त है
वास्तविक infrastructure आधारित काम करने का तरीका
- RDS:
CreateDBInstancecommand पर असली Postgres/MySQL Docker container बनाता है, और लोकल port से सीधे connect किया जा सकता है - ElastiCache:
CreateCacheClustercommand से असली Redis container चलाता है, जिसे session store आदि के रूप में इस्तेमाल किया जा सकता है - ECS:
RunTaskcommand से असली Docker container चलाता है, जिससे लोकल में ECS task definitions test की जा सकती हैं - Athena: DuckDB के जरिए असली SQL queries चलाकर result set लौटाता है
- सभी AWS tools के साथ पूरी compatibility, API endpoint बदले बिना इस्तेमाल संभव
deployment और उपयोग
- एक line के Docker command से चलाया जा सकता है
docker run -p 4566:4566 nahuelnucera/ministack - AWS CLI के जरिए S3, RDS, ElastiCache आदि सभी services तक पहुँचा जा सकता है
- उदाहरण:
aws --endpoint-url=http://localhost:4566 s3 mb s3://my-bucketaws --endpoint-url=http://localhost:4566 rds create-db-instance --engine postgresaws --endpoint-url=http://localhost:4566 elasticache create-cache-cluster --engine redis
license और distribution जानकारी
- MIT license में वितरित, इसलिए इसे आसानी से fork या embed किया जा सकता है
- GitHub और Docker Hub पर सार्वजनिक रूप से उपलब्ध
- developer Nahuel हैं, और project को 2026 तक maintain करने की योजना है
मुख्य सीख
- MiniStack, LocalStack का पूरी तरह मुफ़्त विकल्प है, जो वास्तविक infrastructure आधारित लोकल AWS environment देता है
- इसकी विशेषताएँ हैं तेज़ startup speed, हल्का resource usage, और पूरी SDK compatibility
- सभी features मुफ़्त, MIT license, और कोई telemetry नहीं
- यह लोकल development और CI/CD environment में AWS production environment जैसा ही testing experience देने वाला tool है
1 टिप्पणियां
Hacker News की राय
मुझे DynamoDB के बारे में अच्छी जानकारी है
लेकिन यह कोड service exceptions, input validation, eventual consistency, और edge cases की सही नकल नहीं करता
इसलिए ministack पर आधारित development या testing करना असुरक्षित लगता है
ऊपर से AWS की कई services में free tier है, इसलिए ऐसी replacement इस्तेमाल करने की बहुत बड़ी वजह नहीं दिखती
यानी यह verify करने के लिए कि application सही data के साथ सही API call कर रहा है या नहीं
DynamoDB के वास्तविक behavior (जैसे capacity limits, consistency delay, stream processing) की ज़रूरत हो तो यह उसका replacement नहीं है
हालांकि error reproducibility बढ़ाने वाले contributions हमेशा स्वागतयोग्य हैं
अभी
ProvisionedThroughputExceededException,TransactionConflictException,ItemCollectionSizeLimitExceededExceptionआदि pending हैंbasic testing ministack से करें, और load testing चरण में ही actual AWS cost incur करें
LocalStack के license change से असंतुष्ट हूँ, इसलिए ministack देख रहा हूँ
जिसे तुरंत समाधान चाहिए, वह
community-archivetag पर pin कर सकता हैDocker Hub लिंक
मुझे लगता है कि कोई भी replication project, LocalStack के विफल होने के कारणों को पार करना मुश्किल पाएगा
इतने सारे AWS services के लिए free compatibility बनाए रखना व्यावहारिक रूप से असंभव लगता है
हो सकता है LocalStack का codebase बुरी तरह बिखरा हुआ था, या contributor management विफल रहा
अब AWS mature हो चुका है और बदलाव की रफ़्तार धीमी है, और AI 80% स्तर का code आसानी से बना देता है
साथ ही LocalStack की price increase के कारण open source alternatives खोजने वाले developers का एक pool बन गया है
LocalStack के open source version से सीखने के लिए भी बहुत कुछ है
हम सिर्फ़ पुराने community version की core services को up-to-date रखना चाहते हैं
MWAA जैसी बड़ी services को support करने की योजना नहीं है
क्योंकि ज़्यादातर core AWS services में API changes लगभग नहीं होते
अगर local में complex functionality चाहिए, तो actual AWS development account इस्तेमाल किया जा सकता है
अगर LLMs और नए testing approaches का सही उपयोग किया जाए, तो compatible services का एक set semi-automatically बनाया जा सकता है
लेकिन मैं ख़ुद इसमें शामिल नहीं होना चाहता
Floci भी आज़माया था, लेकिन उसमें early-stage code वाली सामान्य समस्याएँ थीं
LocalStack की असली समस्या drift थी
local tests pass हो जाते थे, लेकिन staging में S3 response format या DynamoDB throttling के अंतर के कारण चीज़ें टूट जाती थीं
आखिरकार हमने कम समय के लिए बनाए गए actual AWS environments में integration tests चलाने का रास्ता अपनाया
cost ज़रूर बढ़ी, लेकिन production में unexpected issues बहुत कम हो गए
यानी local में pass हो जाए, तभी actual AWS integration tests चलाएँ
LocalStack के license change के बारे में अब पता चला
पहले GH Actions में CI/CD testing के लिए इसे अच्छी तरह इस्तेमाल किया था, और AWS CLI के साथ इसकी compatibility भी काफ़ी अच्छी थी
सच कहूँ तो उम्मीद थी कि Amazon, LocalStack को acquire करके इसे आधिकारिक local development environment बना दे
लेकिन इससे AWS test environments की revenue कम होती, इसलिए शायद यह व्यावहारिक नहीं था
हम अब भी इससे संतुष्ट हैं, लेकिन इसकी दिशा से निराशा हुई
उम्मीद है यह सिर्फ़ short-term revenue निकालने का कदम नहीं है
लंबी अवधि में ग्राहक free alternatives या GenAI-आधारित व्यक्तिगत solutions की ओर जा सकते हैं
व्यक्तिगत रूप से मुझे LocalStack के Pods या console UI में रुचि नहीं है
उम्मीद है कि उन्होंने community edition हटाने की शर्त पर VC investment नहीं लिया होगा
CLI ठीक चलता था, फिर भी LocalStack की services कई बार documentation से अलग व्यवहार करती थीं
Claude द्वारा बनाया गया ASCII diagram अगर README में टेढ़ा-मेढ़ा दिखे, तो भरोसा नहीं होता
अगर basic QC भी न हुआ हो, तो feature description पर भरोसा करना मुश्किल है
उदाहरण लिंक
CHANGELOG लिंक
अगर ऐसा ही चला तो AI से बने low-quality code की संख्या बढ़ती ही जाएगी
अगर alignment तक नहीं जाँची गई, तो भरोसा और भी कम हो जाता है
इसे अभी SDLC में लाने के लिए शायद जल्दी है, लेकिन यह आशाजनक project लगता है
LocalStack से निराश लोगों के लिए यह एक विकल्प बन सकता है
एक और alternative पहले HN पर आया था
संबंधित थ्रेड लिंक
यह project अभी सिर्फ़ 7 दिन पुराना है
LocalStack replacement की बहुत ज़रूरत महसूस होती है, लेकिन अभी इसमें maturity की काफ़ी कमी है
आजकल software शायद ऐसा ही है — चमकदार website, बड़े दावे, AI code, और कमज़ोर testing
जानना चाहता हूँ कि GCP में इसका equivalent क्या है
समझ नहीं आता Amazon ऐसा क्यों नहीं बनाता
इससे सबके लिए चीज़ें कहीं आसान हो जातीं
काश इसमें actual cost simulator feature भी होता