CLI и фреймворк на основе YAML для развёртывания кода и облачной инфраструктуры, прежде всего в AWS Lambda и других управляемых облачных сервисах.
zappa/Zappa
Zappa разворачивает Python-приложения на WSGI и ASGI и функции, запускаемые событиями, в AWS Lambda и API Gateway — без серверов, которыми нужно управлять.
- Звёзды
- 3,700
- Форки
- 394
- Открытые issues
- 22
- Последний коммит
- 28 дней назад
Что это?
Zappa — инструмент для развертывания: он упаковывает Python-приложение и его виртуальное окружение в совместимый с Lambda архив, а затем создает в AWS функцию Lambda, маршруты API Gateway и связанные с ними роли IAM. Поддерживаются WSGI-приложения, например Flask, Django, Bottle и Pyramid, а также ASGI-приложения, например FastAPI, Starlette и Quart. Каждый запрос обрабатывает кратковременный вызов Lambda, поэтому приложение масштабируется в зависимости от трафика и не требует постоянно работающего сервера.
Помимо размещения веб-приложений, Zappa может запускать функции по расписанию с помощью cron- или rate-выражений, заменяя настройку Celery beat, а также запускать их в ответ на события AWS — например, загрузки в S3, сообщения SNS, очереди SQS, потоки DynamoDB и Kinesis. Кроме того, Zappa поддерживает асинхронное выполнение задач, удаленный вызов функций и команд управления Django, просмотр логов в реальном времени, откаты и подключение собственных доменов с SSL-сертификатами.
Ключевые возможности
- 01Развертывает WSGI-приложения (Flask, Django, Bottle, Pyramid) и ASGI-приложения (FastAPI, Starlette, Quart) в AWS Lambda.
- 02Автоматически создает маршруты API Gateway и роли IAM при развертывании.
- 03Запускает функции по расписанию с помощью cron- или rate-выражений.
- 04Запускает функции в ответ на события AWS, например S3, SNS, SQS и DynamoDB.
- 05Поддерживает асинхронное выполнение задач, удаленный вызов и команды управления Django.
- 06Поддерживает собственные домены с сертификатами ACM, Let's Encrypt или предоставленными пользователем SSL-сертификатами.
Сценарии использования
- Размещение API на Flask или Django с небольшой нагрузкой без оплаты постоянно работающего сервера.
- Запуск периодических задач на Python в AWS без поддержки Celery-воркера.
- Развертывание сервиса на FastAPI, который масштабируется при непредсказуемом объеме запросов.
- Обработка загрузок в S3 или сообщений SQS с помощью функций на Python.
Быстрый старт
- 1
Установите Zappa с помощью pip в виртуальное окружение проекта
pip install zappa - 2
Создайте настройки развертывания в интерактивном режиме
zappa init - 3
Разверните приложение в AWS Lambda
zappa deploy <stage>
Что важно знать
- Требуется учетная запись AWS и учетные данные AWS; работает только с AWS Lambda и API Gateway.
- Zappa необходимо установить в виртуальное окружение, название которого отличается от названия проекта.
- API Gateway ограничивает время выполнения запросов 30 секундами, а политика IAM по умолчанию предоставляет чрезмерно широкие права.
В подборках
Темы
Частые вопросы
- Что такое Zappa?
- Zappa разворачивает Python-приложения на WSGI и ASGI и функции, запускаемые событиями, в AWS Lambda и API Gateway — без серверов, которыми нужно управлять. Zappa — инструмент для развертывания: он упаковывает Python-приложение и его виртуальное окружение в совместимый с Lambda архив, а затем создает в AWS функцию Lambda, маршруты API Gateway и связанные с ними роли IAM. Поддерживаются WSGI-приложения, например Flask, Django, Bottle и Pyramid, а также ASGI-приложения, например FastAPI, Starlette и Quart. Каждый запрос обрабатывает кратковременный вызов Lambda, поэтому приложение масштабируется в зависимости от трафика и не требует постоянно работающего сервера.
- Zappa можно использовать бесплатно? Какая у него лицензия?
- Zappa распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- Zappa всё ещё поддерживается?
- Активно поддерживается. Последний коммит в Zappa — 8 окт. 2026 г..
- Для чего можно использовать Zappa?
- Размещение API на Flask или Django с небольшой нагрузкой без оплаты постоянно работающего сервера. Запуск периодических задач на Python в AWS без поддержки Celery-воркера. Развертывание сервиса на FastAPI, который масштабируется при непредсказуемом объеме запросов. Обработка загрузок в S3 или сообщений SQS с помощью функций на Python.
- Как установить Zappa?
- Установите Zappa с помощью pip в виртуальное окружение проекта: pip install zappa Создайте настройки развертывания в интерактивном режиме: zappa init Разверните приложение в AWS Lambda: zappa deploy <stage>
- Где скачать Zappa?
- Исходный код и инструкции по установке — на GitHub: https://github.com/zappa/Zappa
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Модуль Terraform для создания функций и слоёв AWS Lambda с установкой зависимостей и сборкой пакетов для развёртывания.
Минималистичный CLI-инструмент для деплоя AWS Lambda: поддерживает откат, вызов функций, просмотр логов и сравнение конфигураций.
Микрофреймворк на Python для создания и развертывания бессерверных приложений в AWS Lambda с CLI и маршрутизацией на основе декораторов.
Большая коллекция готовых к развёртыванию шаблонов и примеров сервисов на Serverless Framework для AWS Lambda и других бессерверных платформ.
Самостоятельно размещаемая headless CMS и конструктор сайтов с расширениями на TypeScript, работающие на бессерверной инфраструктуре AWS (Lambda, DynamoDB, S3).