Ловушка бесплатных тарифов Vercel + Supabase: реальные расходы при масштабировании проекта
Автор: Евгений Падежнов
Пет-проект стартует на бесплатных тарифах. Всё работает. А потом однажды утром в счёте стоит $189, и никто не может объяснить почему. Freemium-стек Vercel + Supabase — известная стартовая точка для современных веб-приложений. И столь же известный источник неожиданных счетов.
Как прямо выразился один разработчик: «Начинаешь на бесплатных тарифах, всё отлично работает, а потом в один день счёт прыгает с $0 до $47, потом до $189, и ты понятия не имеешь почему». Эта история повторяется у инди-проектов, MVP и SaaS-продуктов на ранней стадии. Единственная защита — точное понимание лимитов и триггеров расходов.
Что на самом деле дают бесплатные тарифы
И Vercel, и Supabase рекламируют модель ценообразования «бесплатный тариф + оплата по использованию». Бесплатная часть — реальная. Оплата по использованию — вот где начинаются проблемы.
Vercel Hobby Plan
Согласно руководству по ценам Vercel от Temps, план Hobby предоставляет:
- 100 ГБ трафика в месяц
- 1 миллион вызовов функций
- 4 CPU-часа серверлесс-вычислений
В реальных условиях 100 ГБ трафика — это примерно 40 000 просмотров страниц при среднем размере страницы 2,5 МБ. Для личного блога этого достаточно. Для SaaS-продукта, набирающего обороты, — это неделя-две роста.
Ключевой момент: план Hobby предназначен только для некоммерческого использования. Запуск SaaS-продукта, интернет-магазина или даже монетизированного блога нарушает условия. Как только проект начинает приносить доход, Vercel ожидает перехода на план Pro по $20 за место в месяц.
Бесплатный план Supabase
Supabase объединяет Postgres, Auth, Storage, Realtime и Edge Functions в одном пакете. Бесплатный тариф щедр для прототипирования. Но документация Supabase по контролю расходов раскрывает важную деталь: функция Spend Cap, предотвращающая превышение лимитов, доступна только на плане Pro. На бесплатном плане её не существует.
Простыми словами: на бесплатном тарифе нет страховочного механизма. Когда квоты заканчиваются, сервисы ограничиваются. На плане Pro ($25/месяц) Spend Cap можно включить — но даже тогда он покрывает не всё. Расходы на вычисления, пользовательский домен, Point-in-Time Recovery и IPv4-адрес исключены. В документации прямо сказано: «Spend Cap не позволяет детально контролировать расходы — например, устанавливать бюджеты для отдельных категорий использования или получать уведомления при достижении определённых сумм».
Никаких бюджетов по отдельным статьям. Никаких оповещений при скачке конкретной метрики. Разработчики узнают о превышениях постфактум.
Скачок с $0 до $189: как это происходит
Эскалация расходов следует предсказуемому паттерну. Проект запускается на обоих бесплатных тарифах. Трафик низкий. Всё бесплатно. Потом что-то меняется — запуск на Product Hunt, вирусный твит, успешная рекламная кампания — и использование одновременно пересекает несколько пороговых значений.
Окно превышения Vercel
Даже с настроенными лимитами расходов счёт может превысить установленный потолок. В задокументированном случае на GitHub описывается разработчик, установивший лимит расходов в $120 на Vercel, но получивший счёт на $738. Причина: система Spend Management в Vercel проверяет использование «раз в несколько минут», создавая окно превышения. Во время всплесков трафика между проверками накапливаются значительные суммы.
Тот же источник каталогизирует более крупные инциденты:
- $96 280 выставлено приложению Cara после того, как оно стало вирусным, генерируя 56 миллионов вызовов функций в день
- $46 486 выставлено проекту Jmail (архив писем Эпштейна) после того, как 450 миллионов просмотров страниц исчерпали включённый 1 ТБ трафика при тарифе $0,15 за ГБ превышения
- $104 500 выставлено Netlify (не Vercel, но та же модель) за 190 ТБ трафика, потреблённого за 4 дня из-за злоупотребления одним MP3-файлом
Это экстремальные случаи. Но механизм идентичен для небольших проектов. Превышение трафика на Vercel Pro стоит $0,15 за ГБ. Проект, отдающий 5 ТБ в месяц, платит $600 только за трафик — сверх базовых $20.
Тихая эскалация Supabase
Скачки расходов у Supabase менее заметны. План Pro начинается с $25/месяц. При отключённом Spend Cap проекты продолжают работать после превышения квот — и любое дополнительное использование тарифицируется поштучно. Размер базы данных, исходящий трафик, пользователи авторизации, сообщения реального времени и хранилище — у каждого свой отдельный счётчик.
Типичная ошибка: считать, что план Pro за $25/месяц — это фиксированная плата. Это базовая плата. Каждая категория использования сверх включённой квоты добавляет расходы. Проект с активными realtime-функциями, загрузкой файлов и растущей базой пользователей авторизации может легко достичь $100+ в месяц, при этом ни одна отдельная категория не выглядит явно чрезмерной.
Реальные цифры на стадии роста
Согласно анализу стоимости хостинга SaaS от UX Continuum, стадия роста (от 1 000 до 10 000 пользователей) — это момент, когда freemium-модель полностью перестаёт работать.
Vercel Pro на этом этапе стоит «$20 + использование», так как трафик и вызовы функций начинают накапливаться. Supabase Pro за $25/месяц покрывает Postgres, Auth и Storage в одном счёте — но только в рамках включённых квот.
Суммарный минимум: $45/месяц. Реалистичные расходы при умеренном трафике: $80–200/месяц. При всплеске трафика или агрессивном обходе сайта ботом: значительно больше.
Для контекста: в одном анализе Upstash описывается случай, когда пользователь масштабировался до 500 000 пользователей «буквально за ночь» и получил огромный счёт за превышение лимитов выполнения функций. Пользователь проигнорировал 12 предыдущих писем и личное обращение представителя Vercel о растущих расходах. Vercel действительно отправляет предупреждения. Читать их — ответственность разработчика.
Иллюзия единого счёта
Vercel и Supabase предлагают прямую интеграцию. Согласно обзору Raleigh AI Solutions, эта интеграция позволяет разработчикам запустить базу данных Postgres из панели управления Vercel менее чем за минуту. Биллинг объединяется в один счёт Vercel, а Supabase доступен по той же цене, что и напрямую.
Это удобно. И это опасно. Единый счёт, объединяющий два сервиса с оплатой по использованию, затрудняет определение того, какой из них генерирует расходы. Когда счёт подскакивает, нет очевидной строки для анализа без отдельного входа в оба дашборда.
Проверено на практике: единый биллинг упрощает бухгалтерию, но усложняет отладку. Когда расходы растут, разработчикам нужно проверять дашборд использования Vercel и дашборд использования Supabase независимо друг от друга, чтобы найти виновника.
Альтернативы и пути отступления
Самостоятельный хостинг Supabase
Supabase полностью открыт и может быть размещён самостоятельно. Vercel открыт лишь частично (CLI и Next.js). Для команд, упирающихся в лимиты расходов Supabase, самостоятельный хостинг на VPS за $20–40/месяц полностью устраняет оплату по использованию. Компромисс — операционная нагрузка: бэкапы, обновления и мониторинг становятся ответственностью команды.
Альтернативы баз данных
Рынок баз данных изменился после того, как PlanetScale убрала бесплатный тариф. Согласно UX Continuum, это подтолкнуло многих инди-разработчиков к Neon и Supabase. Текущие варианты:
- Neon (Postgres по умолчанию для Vercel): план Launch по $0,106 за час Compute Unit + $0,35 за ГБ-месяц. Типичные расходы — около $15/месяц.
- PlanetScale: теперь от $5/месяц за один узел Postgres, $15/месяц за High Availability.
- Supabase Pro: $25/месяц базовая плата, включает авторизацию и хранилище наряду с базой данных.
В обсуждении сообщества Vercel выделен ключевой вопрос, стоящий перед разработчиками: Supabase «отлично подходит для быстрого прототипирования, но может создать привязку к платформе». В обсуждении прямо поднимается вопрос о том, существуют ли «скрытые расходы (например, лимиты запросов, стоимость хранения), о которых командам следует знать».
Ответ — да. Они есть у каждой управляемой базы данных.
Снижение серверлесс-расходов
Для Vercel конкретно: в блоге Upstash утверждается, что их продукт Workflow может снизить серверлесс-расходы до 90% для определённых сценариев, таких как длительные API-вызовы. Суть проблемы в том, что Vercel Functions тарифицируют время выполнения. Функция, ожидающая ответа от внешнего API, сжигает CPU-часы, ничего не делая. Перенос этого ожидания в очередь или систему воркфлоу сокращает счёт.
Попробуйте: прежде чем оптимизировать, проверьте логи выполнения функций Vercel. Отсортируйте по длительности. Самые долго выполняющиеся функции почти всегда самые дорогие — и зачастую их легче всего оптимизировать, добавив кэширование или переведя на фоновую обработку.
Чек-лист до того, как расходы выйдут из-под контроля
Практика показывает, что неожиданные расходы следуют определённому паттерну. Для их предотвращения необходимо действовать до прихода трафика, а не после.
- Включите Spend Cap на Supabase Pro. Он не идеален — нет бюджетов по отдельным статьям, нет оповещений — но он предотвращает неограниченные превышения на покрываемых сервисах.
- Настройте Spend Management на Vercel Pro. Примите, что проверка происходит «раз в несколько минут» и может быть превышена. Установите лимит ниже фактически допустимого максимума расходов.
- Отслеживайте трафик отдельно. Трафик — самый частый драйвер расходов. Один неоптимизированный эндпоинт для изображений или API, возвращающий большие объёмы данных, может исчерпать весь месячный лимит за считанные дни.
- Читайте письма. Vercel отправляет предупреждения об использовании. Разработчик, проигнорировавший 12 писем перед получением огромного счёта, — это не исключение. Это поведение по умолчанию.
- Планируйте отступление. Знайте путь самостоятельного хостинга для Supabase. Знайте альтернативные варианты хостинга для Next.js (Coolify, Railway, обычный VPS с Node). Лучшее время для изучения альтернатив — до того, как счёт вынудит принимать решение.
Ключевой момент: бесплатный тариф — это демоверсия продукта, а не продакшн-среда. Считать его постоянной инфраструктурой — вот настоящая ловушка. Закладывайте $50–100/месяц с самого начала для любого проекта, рассчитанного на реальных пользователей. Если работает — значит, правильно.
Когда покидать freemium-стек
Триггер миграции — не конкретная сумма в долларах. Это предсказуемость. Оплата по использованию работает, когда трафик низкий и стабильный. Она подводит, когда трафик скачкообразный, растущий или непредсказуемый.
Проект с 10 000+ активными пользователями в месяц, realtime-функциями, файловым хранилищем и авторизацией, как правило, лучше обслуживается:
- VPS за $40/месяц с самостоятельно размещённым Supabase (или просто голым Postgres + легковесной библиотекой авторизации)
- Платформой деплоя за $20/месяц с предсказуемой ценой (Railway, Render или простая Docker-конфигурация)
Итого: $60/месяц, фиксированно, без сюрпризов. Сравните это с диапазоном $80–200/месяц на управляемом freemium-стеке — с дополнительным риском пикового биллинга.
Типичная ошибка: ждать, пока счёт станет болезненным, чтобы начать изучать альтернативы. Миграция под давлением расходов происходит спешно и чревата ошибками. Исследуйте путь отступления, пока бесплатный тариф ещё покрывает нагрузку.
Часто задаваемые вопросы
Сколько будет стоить проект на Vercel + Supabase при масштабировании за пределы бесплатного тарифа?
Минимальная суммарная стоимость — $45/месяц (Vercel Pro за $20 + Supabase Pro за $25). Реалистичные расходы при 1 000–10 000 пользователей составляют от $80 до $200/месяц в зависимости от трафика, вызовов функций и использования базы данных. Всплески трафика могут существенно увеличить расходы из-за поштучной тарификации превышений.
Каковы конкретные ограничения и скрытые расходы бесплатных тарифов Vercel и Supabase?
Vercel Hobby даёт 100 ГБ трафика, 1 миллион вызовов функций и 4 CPU-часа — но запрещает коммерческое использование. У бесплатного плана Supabase нет функции Spend Cap, то есть при исчерпании квот сервисы ограничиваются. На платных планах Spend Cap у Supabase не покрывает вычисления, пользовательские домены и расходы на IPv4. Ни одна из платформ не предлагает оповещений о бюджете по отдельным статьям.
Какие неожиданные расходы подстерегают разработчиков при переходе с бесплатных на платные тарифы?
Превышение трафика по $0,15/ГБ на Vercel — самый распространённый сюрприз. Поштучная тарификация Supabase за realtime-сообщения, исходящий трафик и хранилище застаёт врасплох команды, работающие с коллаборативными или файлоёмкими приложениями. Лимит расходов Vercel может быть превышен во время всплесков трафика, поскольку использование проверяется раз в несколько минут, а не непрерывно.
Когда стоит мигрировать с Vercel и Supabase на полностью самостоятельный хостинг или инфраструктуру AWS?
Когда ежемесячные расходы стабильно превышают $100–150, а паттерны трафика скачкообразные или непредсказуемые. Самостоятельно размещённый экземпляр Supabase на VPS за $40 плюс простая конфигурация деплоя обеспечивают фиксированные, предсказуемые расходы. Мигрируйте до того, как давление расходов вынудит принимать поспешные решения — исследуйте путь, пока бесплатный тариф ещё работает.
Как Vercel Postgres (Neon) соотносится с бесплатной базой данных Supabase?
План Launch у Neon стоит около $15/месяц с оплатой по использованию ($0,106 за час Compute Unit + $0,35 за ГБ-месяц). Supabase объединяет Postgres с Auth, Storage и Realtime в бесплатном и Pro тарифах. Neon — это чистая база данных; Supabase — бэкенд-платформа. Выбор зависит от того, приносят ли объединённые сервисы ценность или лишь увеличивают риск привязки к платформе.
Информация актуальна на момент публикации. Условия, цены и правила могут измениться — уточняйте у профильных специалистов.