39 puntos por GN⁺ 28 일 전 | 1 comentarios | Compartir por WhatsApp
  • Emulador gratuito y de código abierto que puede reproducir por completo un entorno de AWS en local, desarrollado como alternativa a LocalStack tras su paso a un modelo de pago
  • Ejecuta 34 servicios de AWS en un solo puerto y pone en marcha contenedores reales de Postgres, Redis y Docker para ofrecer un entorno de pruebas a nivel de infraestructura
  • Es totalmente compatible con AWS SDK, CLI, Terraform, CDK y Pulumi, y se distribuye bajo licencia MIT sin registro de cuenta ni telemetría
  • Permite una ejecución local ligera y rápida con 2 segundos de arranque, 30 MB de uso de memoria y una imagen Docker de 150 MB
  • Todas las funciones se ofrecen gratis, por lo que permite construir un entorno local completo de desarrollo AWS que reemplaza las funciones Pro de LocalStack

Resumen de MiniStack

  • MiniStack es una herramienta gratuita y de código abierto que puede emular por completo un entorno de AWS en local, diseñada como alternativa a LocalStack tras su paso a un modelo de pago
  • Ejecuta 34 servicios de AWS en un solo puerto y utiliza contenedores reales de Postgres, Redis y Docker
  • Funciona sin registro de cuenta, claves de licencia ni telemetría remota, y se distribuye bajo licencia MIT
  • Tiene un tiempo de arranque de aproximadamente 2 segundos, 30 MB de uso de memoria en reposo y una imagen Docker de 150 MB
  • Después de que la versión Community de LocalStack pasara a un modelo de pago, se presenta como una solución alternativa gratuita que ofrece una experiencia de desarrollo equivalente

Funciones y servicios principales

  • RDS, ElastiCache y ECS ejecutan contenedores Docker reales para ofrecer un entorno de infraestructura real
  • Athena ejecuta consultas SQL reales a través de DuckDB y, si no está instalado, devuelve resultados simulados
  • Mantiene la compatibilidad con AWS SDK, por lo que puede usarse con boto3, AWS CLI, Terraform, CDK, Pulumi y más
  • Todos los servicios se ofrecen gratis, sin limitaciones funcionales ni planes de pago diferenciados
  • 34 servicios de AWS incluidos

    • S3: soporte para buckets, objetos, control de versiones, cifrado, ciclo de vida, CORS, replicación y más
    • SQS: soporte para funciones de colas como FIFO, DLQ, lotes y visibilidad
    • SNS: soporte para temas, suscripciones, fanout hacia SQS y publicación por lotes
    • DynamoDB: soporte para CRUD, query, scan, transacciones, TTL y GSI
    • Lambda: ejecución real de Python, mapeo de eventos de SQS y soporte para Layers
    • Incluye la mayoría de los servicios clave de AWS, como 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 ejecuta contenedores reales de Postgres/MySQL, y ElastiCache ejecuta contenedores reales de Redis/Memcached
    • ECS ejecuta contenedores Docker reales, y Glue y Athena ofrecen funciones de catálogo de datos y ejecución SQL

Comparación con LocalStack

  • LocalStack Free pasó a cobrar por servicios clave, mientras que MiniStack ofrece las mismas funciones gratis
  • Funciones que eran exclusivas de LocalStack Pro, como Lambda, IAM, SSM, EventBridge, EC2, EMR, EBS, EFS, ALB y CloudFormation, también se incluyen gratis
  • RDS, ElastiCache, ECS y Athena funcionan sobre una base de contenedores reales
  • Con un arranque de unos 2 segundos, 30 MB de uso de memoria y una imagen Docker de 150 MB, es mucho más ligero que LocalStack
  • La licencia es MIT, a diferencia de la BSL/Proprietary de LocalStack, y el precio es completamente gratuito

Funcionamiento basado en infraestructura real

  • RDS: al ejecutar el comando CreateDBInstance, crea un contenedor Docker real de Postgres/MySQL y permite conectarse directamente por un puerto local
  • ElastiCache: con el comando CreateCacheCluster, ejecuta un contenedor real de Redis, útil como almacén de sesiones y otros casos
  • ECS: con el comando RunTask, ejecuta contenedores Docker reales y permite probar definiciones de tareas ECS en local
  • Athena: ejecuta consultas SQL reales mediante DuckDB y devuelve conjuntos de resultados
  • Compatibilidad total con todas las herramientas de AWS, sin necesidad de cambiar endpoints de API

Despliegue y uso

  • Puede ejecutarse con una sola línea de comando de Docker
    docker run -p 4566:4566 nahuelnucera/ministack
    
  • Es posible acceder a todos los servicios, como S3, RDS y ElastiCache, mediante AWS CLI
  • Ejemplos:

Licencia e información de distribución

  • Se distribuye bajo licencia MIT, lo que permite hacer fork e integrarlo libremente
  • Está disponible públicamente en GitHub y Docker Hub
  • El desarrollador es Nahuel y el proyecto está previsto para mantenerse hasta 2026

Lecciones clave

  • MiniStack es una alternativa completamente gratuita a LocalStack que ofrece un entorno local de AWS basado en infraestructura real
  • Se caracteriza por su arranque rápido, uso ligero de recursos y compatibilidad total con el SDK
  • Todas las funciones son gratuitas, con licencia MIT y sin telemetría
  • Es una herramienta que ofrece en desarrollo local y entornos de CI/CD la misma experiencia de pruebas que un entorno de producción de AWS

1 comentarios

 
GN⁺ 28 일 전
Opiniones en Hacker News
  • Conozco muy bien DynamoDB
    pero este código no emula correctamente las excepciones del servicio, la validación de entradas, la consistencia eventual ni los casos límite
    por eso me da desconfianza desarrollar o probar sobre ministack
    además, varios servicios de AWS tienen free tier, así que no hay tanta razón para usar este tipo de reemplazo

    • Más que el costo, creo que lo importante es la velocidad de iteración en desarrollo y si puede correr rápido en entornos de CI
    • El objetivo de ministack es para pruebas de integración
      es decir, verificar que la aplicación llame a la API correcta con los datos correctos
      no pretende reemplazar el comportamiento real de DynamoDB, como límites de capacidad, demoras de consistencia o procesamiento de streams
      aun así, siempre son bienvenidas las contribuciones que mejoren la reproducibilidad de errores
      actualmente están pendientes ProvisionedThroughputExceededException, TransactionConflictException, ItemCollectionSizeLimitExceededException, entre otras
    • Aun así me parece útil
      las pruebas básicas se pueden hacer con ministack, y solo en la etapa de pruebas de carga generar costos en AWS real
    • En realidad, LocalStack tampoco logró una implementación perfecta
  • Estoy considerando ministack porque me molestó el cambio de licencia de LocalStack
    para quien tenga prisa, fijarlo con la etiqueta community-archive lo resuelve de inmediato
    Enlace de Docker Hub

    • Me gustaría saber qué opinan de floci
  • Me parece difícil que cualquier proyecto réplica supere la razón por la que LocalStack fracasó
    mantener compatibilidad gratuita con la enorme cantidad de servicios de AWS no parece realista
    quizás LocalStack tenía una base de código desordenada o falló al gestionar a sus contribuidores

    • A la pregunta de “¿por qué antes no funcionó?”, creo que muchas veces el second mover termina teniendo éxito
      ahora AWS ya maduró y avanza más lento, y la IA genera con facilidad código al 80%
      además, con el alza de precios de LocalStack apareció un grupo de desarrolladores buscando alternativas open source
      también hay mucho que aprender de la versión open source de LocalStack
    • No buscamos ser un reemplazo total de LocalStack
      solo queremos mantener actualizados los servicios centrales de la antigua versión comunitaria
      no planeamos dar soporte a servicios grandes como MWAA
      porque la mayoría de los servicios clave de AWS casi no cambian su API
    • Creo que con una compatibilidad estable de servicios clave como SQS, S3, KMS y Dynamo ya hay suficiente valor
      si necesitas funciones complejas en local, puedes usar una cuenta de desarrollo real de AWS
    • Estoy de acuerdo en que la base de código de LocalStack era un desastre
      si se aprovechan bien los LLM y nuevos enfoques de testing, parecería posible crear de forma semiautomática un conjunto de servicios compatibles
      pero no quiero involucrarme directamente
      también probé Floci, pero tenía los problemas típicos del código inicial
    • Con una API bien documentada y herramientas de codificación con IA, creo que crear servicios sustitutos para local no es tan difícil como parece
  • El verdadero problema de LocalStack era el drift
    las pruebas locales pasaban, pero en staging muchas veces fallaba por diferencias en el formato de respuesta de S3 o en el throttling de DynamoDB
    al final cambiamos a correr pruebas de integración en entornos reales de AWS de vida corta
    cuesta más, pero hubo muchos menos problemas inesperados en producción

    • Creo que LocalStack sirve como una especie de sniff test
      o sea, si pasa en local, recién ahí corres las pruebas de integración con AWS real
  • Recién ahora me entero del cambio de licencia de LocalStack
    antes lo usaba muy bien en GH Actions para pruebas de CI/CD, y la compatibilidad con AWS CLI era bastante buena
    de hecho, esperaba que Amazon comprara LocalStack y lo convirtiera en un entorno oficial de desarrollo local
    pero eso probablemente no habría sido realista porque reduciría los ingresos de AWS por entornos de prueba

    • Nuestra empresa actualmente tiene licencia enterprise, así que por ahora no nos afecta
      seguimos usándolo con satisfacción, pero nos decepcionó la dirección que tomó
      espero que no sea una medida para asegurar ingresos de corto plazo
      a largo plazo, es muy posible que los clientes migren hacia alternativas gratuitas o soluciones personales basadas en GenAI
      en lo personal, no me interesan los Pods ni la interfaz de consola de LocalStack
      espero que no hayan recibido inversión de VC con la condición de eliminar la edición comunitaria
    • Hay quien dice que la compatibilidad con AWS CLI era buena, pero el comportamiento real del servicio muchas veces era distinto
      aunque el CLI funcionara bien, con frecuencia los servicios de LocalStack se comportaban distinto a la documentación
  • Cuando veo un README con un diagrama ASCII desalineado hecho por Claude, no me inspira confianza
    si ni siquiera hubo control de calidad básico, cuesta creer también la descripción de las funciones
    Enlace de ejemplo

    • “¡Pero está desplegando a velocidad de razonamiento!”, respondió alguien en tono de broma
    • Gracias por el feedback detallado
      Enlace al CHANGELOG
    • Da pena que, incluso señalando problemas evidentes de calidad, el comentario haya sido marcado sin una respuesta en contra
      si esto sigue así, parece que seguirá aumentando el código de baja calidad generado por IA
    • El ASCII con esquinas redondeadas ya es una red flag
      si ni siquiera revisaron la alineación, da todavía menos confianza
    • Al menos podrían haber corrido un formateador, o haber configurado en Claude un hook de autoformato
  • Todavía es pronto para adoptarlo en el SDLC, pero parece un proyecto prometedor
    viniendo de alguien decepcionado con LocalStack, creo que podría convertirse en una alternativa

  • Antes ya había salido en HN otra alternativa
    Enlace al hilo relacionado

    • Me gustó la transparencia de decir “lo construimos todo con IA y guardamos todos los prompts”
    • Fui probando ese proyecto (rechazado), Floci (no me convenció), y ahora este, en ese orden
      este proyecto apenas tiene 7 días
      realmente quiero un reemplazo para LocalStack, pero todavía le falta mucho en madurez
      hoy en día mucho software parece ser así: sitio web vistoso, grandes promesas, código de IA y pocas pruebas
  • Me pregunto qué sería el equivalente en GCP

    • GCP tiene su propio conjunto de herramientas de emulación
      no entiendo por qué Amazon no hace algo así
      sería mucho más cómodo para todos
  • Ojalá tuviera una función de simulador de costos realistas