Зачем нужен Fakecloud?
Fakecloud создает локальное AWS окружение, которое ведёт себя как реальная инфраструктура, а не как mock. Приложение использует обычный AWS SDK, CLI и инструменты Infrastructure as Code. В отличие от LocalStack Community, не нужны ни аккаунт, ни токен авторизации, ни платный план — только базовая разработка локально.
SDKs делают этот workflow удобнее, не уже. Запусти Fakecloud, запусти код, который реально доставляется в продакшен, затем проверь результаты (отправленные письма, сообщения, вызовы функций) через инструменты тестирования. Можно принудительно вызвать асинхронные AWS операции по требованию.
Построен для реалистичного локального тестирования
Настоящие API для приложения, специализированные инструменты для тестов.
Тестируй то, что реально делает приложение
Используй стандартные AWS клиенты против localhost, затем проверь результаты через Fakecloud — вместо комбинирования polling, фиксур и приватных хуков для тестирования.
Встроенные клиенты для тестов
TypeScript, Python, Go, PHP, Java и Rust SDKs оборачивают эндпоинты /_fakecloud/* для сброса состояния, проверок и ручного управления асинхронными обработчиками — после того как приложение уже использовало обычные AWS API.
105 сервисов AWS
S3, SQS, SNS, EventBridge, EventBridge Pipes, EventBridge Scheduler, Lambda, EC2, DynamoDB, IAM, STS, Organizations, SSM, Secrets Manager, CloudWatch Logs, CloudWatch (Metrics & Alarms), KMS, CloudFormation, Cloud Control API, SES, Cognito User Pools, Cognito Identity, Kinesis, Firehose, RDS, RDS Data API, Aurora DSQL, Resource Groups, Resource Groups Tagging API, ElastiCache, MemoryDB, EKS, Cloud Map, Step Functions, API Gateway v1 (REST), API Gateway v2 (HTTP), Bedrock, Bedrock Agent, Bedrock Agent Runtime, Bedrock Runtime, ECR, ECS, Elastic Load Balancing v2, CloudFront, Route 53, WAF v2, Application Auto Scaling, Athena, ACM, и Glue.
Проверка конформности
Истинная 100% конформность во всех 3 932 реализованных API операциях: 248 557 из 248 557 вариантов тестов, сгенерированных из Smithy-моделей, проходят при каждом коммите. Поддержка сквозными интеграционными тестами с официальными AWS SDK.
Кросс-сервисные потоки подключены
Более 30 интеграций между сервисами: S3 notifications, SNS fanout, EventBridge targets, DynamoDB Streams, CloudWatch Logs subscriptions, Cognito triggers, Step Functions task integrations, API Gateway → Lambda и многое другое — всё обеспечивает реальные взаимодействия между сервисами.
Без авторизации, без привязки, без платных тарифов
Запусти один бинарник или Docker image, используй любые dummy credentials, оставь весь workflow локальным без входа на чужую платформу.
SDKs для проверок в тестах
Продолжай использовать AWS SDK в приложении. Используй Fakecloud SDKs, когда тестам нужна видимость и управление на уровне эмулятора.
npm install fakecloud
Смотри SES письма, SNS сообщения, SQS очереди, Lambda invocations, Cognito confirmation codes и многое другое.
pip install fakecloud
Асинхронные и синхронные клиенты для pytest или интеграционных тестов на уровне приложения с тем же покрытием интроспекции и симуляции.
go get github.com/faiscadev/fakecloud/sdks/go
Context-friendly помощники для сброса состояния, истории событий, SES inbound симуляции и остальной поверхности тестирования Fakecloud.
cargo add fakecloud-sdk
Нативный Rust клиент для тестов, которым нужны сброс состояния, инспекция данных и прямой доступ к поверхности интроспекции Fakecloud.
Быстрый старт
Запусти Fakecloud, направь AWS клиент на localhost, затем проверь, что произошло.
# Установка (Cargo или Docker не требуются)
$ curl -fsSL https://fakecloud.dev/install.sh | bash
# или: brew install fakecloud
$ fakecloud
# Приложение использует обычный AWS SDK против localhost
$ aws --endpoint-url http://localhost:4566 sqs create-queue \
--queue-name my-queue
# Тесты могут проверить состояние через Fakecloud SDK
$ npm install fakecloud
Сравнение с альтернативами
Если нужен полностью локальный workflow с реальными AWS API и без требований к аккаунту, Fakecloud создан именно для этого. SDKs — это дополнительное преимущество для тестирования, а не замена этому подходу.
| Fakecloud | LocalStack Community | |
|---|---|---|
| Лицензия | AGPL-3.0 | Proprietary |
| Авторизация требуется | Нет | Да (аккаунт + токен) |
| Коммерческое использование | Бесплатно | Только платные планы |
| Docker требуется | Нет (standalone binary) | Да |
| Время старта | ~300ms | ~3s |
| Память в idle | ~10 МиБ | ~150 МиБ |
| Размер установки | ~19 МБ binary | ~1 ГБ Docker image |
| AWS сервисы | 46 с истинной 100% конформностью | 30+ (beyond Community только платно) |
| Test assertion SDKs | TypeScript, Python, Go, PHP, Java, Rust | Python, Java |
| Cognito User Pools | 122 операции | Только платно |
| SES v2 | 110 операций | Только платно |
| SES inbound email | Реальные receipt rule actions | Сохраняются, но никогда не выполняются |
| RDS | 163 операции, PostgreSQL/MySQL/MariaDB через Docker, PostgreSQL aws_lambda extension |
Только платно |
| ElastiCache | 75 операций, Redis и Valkey через Docker | Только платно |
| MemoryDB | 45 операций, полный control plane | Только платно |
| EKS | Cluster control plane (batch 1) | Только платно |
| API Gateway v2 | 103 операции, HTTP APIs + developer portals + JWT/Lambda authorizers | Только платно |
| Bedrock | 214 операций в 4 API (Bedrock + Bedrock Runtime + Bedrock Agent + Bedrock Agent Runtime) | Недоступно |
Поддерживаемые сервисы
Каждый реализованный API покрыт конформностным и поведенческим тестированием, набор сервисов оптимизирован для локальной разработки и интеграционных тестов.
Кто использует Fakecloud
Проект в ранней стадии, список только начинает расти. Используешь Fakecloud в CI, локальной разработке или тестах? Добавь свою команду на GitHub. Цифры ниже — это загрузки пакетов и звёзды, а не количество пользователей.
npm downloads · PyPI downloads · Homebrew installs · crates.io downloads · GitHub stars