Upstash — серверлес-платформа для данных. Redis и Kafka без серверов, которые надо администрировать. Основана в 2020 году, инвесторы включают a16z. Если вам нужен Redis для serverless-функций на Vercel или Cloudflare Workers — Upstash практически монополист в этой нише.
Сайт: upstash.com
Продукты
Upstash Redis — совместимый с Redis API сервис, работающий по модели pay-per-use. Не нужно поднимать инстанс, настраивать репликацию, следить за памятью. Платите за фактически выполненные операции.
Upstash Kafka — serverless Apache Kafka. Продюсеры, консьюмеры, топики — всё как в классической Kafka, но без брокеров и ZooKeeper. REST API в дополнение к нативному Kafka-протоколу.
Upstash QStash — очередь сообщений с гарантией доставки. Идеально для асинхронных задач в serverless-окружении: запрос пришёл, задача ушла в QStash, ответ клиенту — 200 OK, обработка — в фоне.
Ценообразование — честный serverless
Redis: бесплатно 10 000 команд в день. Затем $0.2 за 100 000 команд. Глобальная база (репликация между регионами) — $0.6 за 100 000 команд. Для сравнения: минимальный managed Redis у AWS (ElastiCache) стартует от $12/мес за крошечный инстанс.
Kafka: бесплатно 10 000 сообщений в день. Дальше $1 за миллион сообщений. Никакой платы за хранение, партиции или инстансы.
Это в разы дешевле managed-решений от облачных гигантов для небольших и средних нагрузок. Для high-throughput сценариев (миллиарды операций) экономика меняется — нужен калькулятор.
Глобальная репликация
Главная фишка Upstash — глобальные базы. Одна база Redis, автоматически реплицируемая между регионами. Данные читаются из ближайшего региона, записываются в первичный. Задержка при чтении <5ms для 90% пользователей Земли.
Для serverless-приложений это killer feature. Vercel-функция в us-east читает из глобальной базы Upstash — и пользователь в Сингапуре получает данные с задержкой как из локального дата-центра.
Интеграции
SDK для TypeScript, Python, Go. Прямая интеграция с Vercel, Netlify, Cloudflare Workers, AWS Lambda. REST API позволяет работать с Redis из любого окружения, где нет TCP-соединения (Cloudflare Workers, Deno Deploy).
Библиотека @upstash/redis для TypeScript — одна из лучших в экосистеме. Полная типизация, поддержка пайплайнов, транзакций, pub/sub. Документация с примерами под каждый фреймворк.
Ограничения serverless-подхода
Максимальный размер значения: 10 MB для Redis. Этого достаточно для кеширования, сессий, рейт-лимитов, но не для хранения файлов.
Connection pooling в serverless-среде — проблема. Upstash решает её через HTTP API, но производительность HTTP-запросов ниже нативного Redis-протокола. Для hot path с микросекундными требованиями к задержке — поднимайте обычный Redis.
Vendor lock-in умеренный: API совместим с Redis, данные можно экспортировать, но глобальная репликация и REST API — проприетарные надстройки. Переехать обратно на обычный Redis можно, но фичи потеряются.
Вердикт
Upstash — идеальный Redis для serverless-мира. Бесплатный тир покрывает хакатоны и pet-проекты. Pay-per-use честнее, чем помесячная аренда инстанса, который простаивает 90% времени. Если ваш стек — Vercel/Netlify/Cloudflare Workers, Upstash практически безальтернативен. Для классических монолитов на VPS — обычный Redis в Docker всё ещё проще и быстрее.