Floci
Para desarrollar y probar aplicaciones contra servicios de AWS en local, sin cuenta ni costes.
Emulador local de servicios AWS, gratuito y open source, alternativa a LocalStack.
Notas y contexto
Qué es
Floci es un emulador local de servicios de AWS, gratuito y de código abierto bajo licencia MIT. Permite ejecutar en tu máquina una réplica de muchos servicios de AWS y apuntar contra ella las herramientas habituales (AWS SDK, AWS CLI, Terraform, CDK) sin necesidad de una cuenta de AWS ni de credenciales reales. Se posiciona como alternativa a LocalStack, evitando las limitaciones de su modelo community/enterprise: todo está disponible para todos y sin restricciones en CI.
Para qué sirve
- Desarrollar aplicaciones que dependen de servicios de AWS sin gastar dinero ni tocar la nube real.
- Ejecutar tests de integración contra servicios AWS de forma rápida y reproducible, también en CI/CD.
- Prototipar y experimentar con AWS sin cuenta ni configuración de credenciales.
- Usarlo desde Java, Node.js o Python con Testcontainers para levantar el emulador en los tests.
Cuándo usarlo
Cuando trabajas con S3, Lambda, DynamoDB, RDS, EventBridge u otros servicios de AWS y necesitas un entorno local barato, rápido y sin restricciones para desarrollo y pruebas. Es especialmente interesante frente a LocalStack si te molesta su separación de funciones gratuitas y de pago, o sus límites en CI. Floci es 100% MIT y todo viene incluido. Si necesitas paridad exacta con producción o servicios muy específicos no cubiertos, sigue siendo recomendable validar también contra AWS real.
Ejemplo
Levantar el emulador con Docker y crear un bucket de S3 contra el endpoint local:
docker compose up -d
aws --endpoint-url http://localhost:4566 s3 mb s3://mi-bucket
El endpoint por defecto es http://localhost:4566, así que basta con redirigir tus SDK o CLI a esa URL para que tu código funcione sin más cambios.
Puntos clave
- Cubre 59 servicios de AWS (compute, almacenamiento, mensajería, bases de datos, analítica) sobre los protocolos JSON 1.1, REST JSON, Query y proxies de base de datos.
- Integración real con Docker para servicios como Lambda, RDS, ElastiCache, Neptune, ECS, EC2, EKS y CodeBuild.
- Varios modos de almacenamiento (memoria, persistente, híbrido, write-ahead log) y soporte de Testcontainers para Java, Node.js y Python.
- Licencia MIT y modelo totalmente abierto: sin cuentas, sin funciones de pago y sin límites en CI.
Ten en cuenta
Floci es un emulador, no AWS real: puede haber diferencias de comportamiento frente a producción, por lo que conviene validar también contra entornos reales antes de desplegar. El proyecto está activo y mantenido (escrito mayoritariamente en Java) pero es relativamente joven, así que la cobertura y la fidelidad de algunos servicios pueden variar. Requiere Docker para funcionar. Como alternativa más veterana y con amplia adopción está LocalStack.