Tháng 3 năm 2026, một sự thay đổi lặng lẽ xảy ra trong thế giới phát triển AWS cục bộ. LocalStack Community Edition chính thức kết thúc vòng đời — không còn cập nhật bảo mật, và yêu cầu auth token bắt buộc khiến vô số CI pipeline, cấu hình Docker Compose và môi trường dev bị vỡ chỉ sau một đêm. Nhiều năm qua, LocalStack là công cụ không thể thiếu để chạy AWS trên máy cục bộ. Giờ đây nó đòi xác thực chỉ để tạo một cái S3 bucket trên laptop của bạn.
Và đó là lúc Floci xuất hiện.
Floci Là Gì?
Floci là một AWS emulator cục bộ mã nguồn mở, miễn phí, cấp phép MIT, được xây dựng bằng Quarkus Native. Cái tên lấy cảm hứng từ cirrocumulus floccus — loại đám mây trông hệt như bỏng ngô 🍿 — và được thiết kế để thay thế hoàn toàn LocalStack: cùng cổng (4566), cùng định dạng credentials, cùng AWS wire protocol. Bạn chỉ cần đổi Docker image, code cũ chạy ngay không cần sửa gì.
Không tài khoản. Không API key. Không feature gate. Không telemetry. Không bất ngờ. Chỉ cần docker compose up.
Những Con Số Đáng Chú Ý
Benchmark đôi khi có thể bị lựa chọn có chủ đích, nhưng so sánh Floci và LocalStack đủ ấn tượng để nói thẳng:
| Chỉ số | Floci | LocalStack Community |
|---|---|---|
| Thời gian khởi động | ~24 ms | ~3.3 giây |
| Bộ nhớ nhàn rỗi | ~13 MiB | ~143 MiB |
| Kích thước Docker image | ~90 MB | ~1.0 GB |
| Yêu cầu auth token | ❌ Không | ✅ Có (từ tháng 3/2026) |
| Cập nhật bảo mật | ✅ Đang hoạt động | ❌ Đã đóng băng |
| Giấy phép | MIT | Restricted |
24 millisecond để khởi động. Không phải giây — mà là mili-giây. Đây là sức mạnh của Quarkus Native compilation: overhead của JVM bị loại bỏ hoàn toàn, binary khởi động nhanh như một CLI tool thông thường. Với các CI/CD pipeline phải spin up container hạ tầng cho mỗi lần test, sự khác biệt này tích lũy rất đáng kể.
Dịch Vụ Thật, Không Phải Mock
Một trong những phàn nàn phổ biến về AWS emulator là mock quá hời hợt — bạn code trên emulator, deploy lên production, rồi phát hiện hành vi thực của AWS lại khác biệt tinh tế. Floci tiếp cận khác đối với các dịch vụ quan trọng nhất.
Lambda, ElastiCache, RDS và ECS đều khởi động Docker container thực. Khi bạn deploy một Lambda function vào Floci, một container thực chạy nó. Khi bạn tạo ElastiCache cluster, một container Redis/Valkey thực được start. Khi bạn provision RDS, một container PostgreSQL hoặc MySQL thực xuất hiện — JDBC-compatible, sẵn sàng cho SQL thực.
Điều này quan trọng vì nó đảm bảo tính fidelity của wire protocol. SigV4 signing. IAM auth thực sự validate. Code bạn chạy local với Floci sẽ hoạt động giống hệt trên AWS thật.
Độ Phủ Dịch Vụ
Floci hỗ trợ 41 AWS service. Một số điểm nổi bật mà LocalStack Community Edition không hỗ trợ hoặc chỉ hỗ trợ một phần:
- API Gateway v2 (HTTP API) — Routes, integrations, JWT authorizers, stages
- Cognito — User pools, app clients, auth flows đầy đủ, JWKS/OpenID endpoints
- ElastiCache — Redis + Valkey với container thực và IAM auth
- RDS — PostgreSQL & MySQL với container thực, IAM auth, JDBC-compatible
- ECS — 58 operations: clusters, task definitions, services, capacity providers
- DynamoDB Streams — Đầy đủ shard iterators, records, Lambda ESM trigger
- KMS — Sign, verify, re-encrypt — không chỉ là stub encrypt/decrypt
- IAM — 65+ operations: users, roles, groups, policies, instance profiles
Bộ compatibility test nói lên tất cả: 1.873 automated tests chạy trên Java, Node.js, Python, Go, Rust, AWS CLI, Terraform, OpenTofu và CDK. Đây không phải tự tin bằng lời nói — mà là tự tin bằng bằng chứng.
Bắt Đầu Trong 30 Giây
Nếu bạn đã dùng LocalStack, migration chỉ là một dòng thay đổi:
# docker-compose.yml
services:
floci:
image: floci/floci:latest
ports:
- "4566:4566"
volumes:
- ./data:/app/data
docker compose up
export AWS_ENDPOINT_URL=http://localhost:4566
export AWS_DEFAULT_REGION=us-east-1
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
aws s3 mb s3://my-bucket
aws sqs create-queue --queue-name my-queue
aws dynamodb list-tables
Trỏ SDK của bạn vào http://localhost:4566, dùng test/test làm credentials là xong. Python (boto3), Java (AWS SDK v2), Node.js (AWS SDK v3), Go, Rust — tất cả hoạt động không cần sửa đổi gì.
Kiến Trúc: Tại Sao Nhanh Đến Vậy?
Kiến trúc của Floci đơn giản một cách thanh lịch. Một HTTP router duy nhất (JAX-RS + Vert.x) xử lý tất cả 41 service trên cổng 4566. Services được chia thành ba nhóm:
- Stateless services (SSM, SQS, SNS, IAM, STS, KMS, Cognito...) — chạy hoàn toàn in-process
- Stateful services (S3, DynamoDB) — chạy in-process với storage backend cấu hình được:
memory,persistent,hybrid, hoặcwal - Container services (Lambda, ElastiCache, RDS, ECS) — spawn Docker container thực qua Docker API
Xây dựng trên Quarkus Native cho binary ~40 MB và khởi động dưới 25ms. Toàn bộ "server" là một binary native duy nhất — không JVM warm-up, không ClassLoader overhead, không Python interpreter startup.
Bức Tranh Lớn Hơn
Việc LocalStack sunset không chỉ gây bất tiện — nó phơi bày một vấn đề cấu trúc: phụ thuộc vào một công cụ do doanh nghiệp kiểm soát cho phần cốt lõi của workflow phát triển cục bộ đồng nghĩa với việc chấp nhận các quyết định kinh doanh của họ. Khi auth token xuất hiện bất ngờ, các team phải chạy đua vá lỗi. CI pipeline vỡ. Staging environment sập.
Cam kết của Floci rất đơn giản: MIT-licensed, miễn phí mãi mãi, không auth token, không feature gate. GitHub repo đã vượt 2.700 stars trong thời gian rất ngắn. Community Slack hoạt động tích cực. Issues được xử lý và đóng nhanh chóng.
Đây là hình mẫu của một phản ứng open source lành mạnh trước proprietary lock-in.
Bạn Có Nên Chuyển Sang Không?
Nếu bạn đang dùng LocalStack Community Edition — chuyển ngay hôm nay. Migration chỉ cần đổi tên image, bạn được startup nhanh hơn, footprint nhỏ hơn đáng kể, và nhiều tính năng hơn. Bạn không mất gì ngoài sự phụ thuộc vào auth token mà bạn chưa bao giờ muốn có từ đầu.
Nếu bạn đang bắt đầu một dự án mới cần AWS service cục bộ, Floci là lựa chọn đầu tiên hiển nhiên.
Repo tại github.com/floci-io/floci. Star cho dự án — open source xứng đáng được biết đến rộng rãi hơn.