惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
C
Check Point Blog
J
Java Code Geeks
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
量子位
Google DeepMind News
Google DeepMind News
I
InfoQ
The GitHub Blog
The GitHub Blog
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
小众软件
小众软件
博客园_首页
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
IT之家
IT之家

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built a free LocalStack alternative in Go — v0.6.0 is o...
Twisted-Code · 2026-05-06 · via DEV Community

Twisted-Code'r

So I've been working on this project called CloudDev for a while now. It's basically a local AWS emulator — think LocalStack but free, open source, and a single Go binary with zero dependencies.

I just shipped v0.6.0 and wanted to share what's new.


Why I built this

Honestly? LocalStack's free tier kept getting more and more limited. Every time I needed a service it was "pro only". I just wanted to test my AWS code locally without spinning up real infrastructure or paying for a subscription.

So I started building CloudDev. The goal was simple — emulate the AWS services I actually use, make it work with the existing AWS CLI and SDKs without any config changes, and keep it as a single binary I can just run anywhere.


What's new in v0.6.0

This release was focused on infrastructure completeness. I added 8 new services:

  • Kinesis Data Streams — shards, records, iterators, the whole thing
  • Kinesis Firehose — delivery streams, PutRecord, PutRecordBatch
  • ECS — clusters, task definitions, run/stop tasks
  • ECR — repositories, image push/pull, auth token
  • CloudFront — distributions, origins, invalidations
  • AppSync — GraphQL APIs, data sources, schema upload
  • Athena — query execution, results, named queries
  • ACM — certificates, tags, mock PEM output

That brings the total to 37 AWS services across 47 modules.


Quick start

git clone https://github.com/Jeffrin-dev/CloudDev.git
cd CloudDev
go build -o clouddev .

./clouddev init my-app
cd my-app
../clouddev up

Enter fullscreen mode Exit fullscreen mode

That's it. All 37 services start up immediately.


Some examples

# Kinesis
aws --endpoint-url=http://localhost:4568 kinesis create-stream \
  --stream-name my-stream --shard-count 2

aws --endpoint-url=http://localhost:4568 kinesis put-record \
  --stream-name my-stream --data "hello" --partition-key "pk1"

# ECS
aws --endpoint-url=http://localhost:4561 ecs create-cluster \
  --cluster-name my-cluster

aws --endpoint-url=http://localhost:4561 ecs register-task-definition \
  --family my-task \
  --container-definitions '[{"name":"app","image":"nginx","memory":128}]'

# ECR
aws --endpoint-url=http://localhost:4562 ecr create-repository \
  --repository-name my-repo

aws --endpoint-url=http://localhost:4562 ecr get-authorization-token

# Athena
aws --endpoint-url=http://localhost:4564 athena start-query-execution \
  --query-string "SELECT * FROM my_table" \
  --query-execution-context Database=mydb

# ACM
aws --endpoint-url=http://localhost:4560 acm request-certificate \
  --domain-name example.com

Enter fullscreen mode Exit fullscreen mode

No endpoint configuration files, no fake credentials setup beyond the usual AWS_ACCESS_KEY_ID=test — just point the CLI at localhost and it works.


Full service list

Service Port
ACM 4560
ECS 4561
ECR 4562
CloudFront 4563
Athena 4564
S3 4566
AppSync 4567
Kinesis Data Streams 4568
DynamoDB 4569
DynamoDB Streams 4570
Kinesis Firehose 4571
API Gateway 4572
API Gateway v2 4573
Lambda 4574
SNS 4575
SQS 4576
Lambda Layers 4578
SES 4579
Dashboard 4580
CloudFormation 4581
CloudWatch Metrics 4582
SSM Parameter Store 4583
Secrets Manager 4584
Step Functions 4585
CloudWatch Logs 4586
EventBridge 4587
X-Ray 4588
Route53 4589
CloudWatch Events 4590
Bedrock 4591
STS 4592
IAM 4593
Rekognition 4594
Lambda Function URLs 4595
Cognito 4596
ElastiCache 4597/4598
KMS 4599

Web dashboard

There's also a web dashboard at localhost:4580 that shows all running services in real time. It flips red when the server goes down which is a small thing but honestly pretty useful when you're running tests.


How it's built

It's pure Go 1.22, no external runtime dependencies. Each AWS service is its own HTTP server listening on its port, routing requests by the X-Amz-Target header or REST path depending on the service protocol.

One thing I learned the hard way — AWS CLI doesn't always use the protocol the docs say it does. KMS, Kinesis, ECS, ECR all use JSON + X-Amz-Target. CloudFront uses REST + XML. AppSync uses REST + JSON. I had to sniff actual requests with nc a few times to figure out what the CLI was actually sending.


What's next

Not sure yet honestly. Maybe RDS, SQS dead letter queues, or better Lambda container support. Open to suggestions.

If you try it out let me know what breaks. There's definitely rough edges still.

GitHub:github.com/Jeffrin-dev/CloudDev

BUILD FOR DEVS