Все материалы

Telegram Serverless: боты в Telegram без VPS

Telegram Serverless упрощает запуск ботов, но не отменяет VPS. Разбираем архитектуру, ограничения и задачи, для которых этот подход действительно подходит.

Telegram Serverless: боты в Telegram без VPS

Telegram объявил о запуске ботов прямо на своих серверах, и новость быстро разлетелась по профильным чатам. Тут же появились заголовки вроде «конец эпохи VPS» и «прощайте, облачные провайдеры».

Звучит громко. Но если открыть документацию и убрать рекламную шелуху, картина получается спокойнее: обычная серверная инфраструктура никуда не делась.

Telegram Serverless решает более узкую задачу. Он позволяет писать бизнес-логику бота и не тратить вечер на Docker, SSL-сертификаты и настройку вебхуков. Порог входа становится ниже, но вместе с этим появляются ограничения самой платформы.

Сравнение Telegram Serverless и VPS
Serverless или VPS: выбор зависит от того, что должен делать бот.

1. Telegram Serverless против VPS

Telegram Serverless

Плюсы:

  • деплой занимает 0 секунд;
  • есть встроенная база SQLite;
  • автоскейлинг уже предусмотрен;
  • 0 рублей за стартовую инфраструктуру.

Минусы тоже очевидны: рантайм задаёт Telegram, свободно управлять сервером нельзя, а набор инструментов ограничен.

VPS

Здесь всё наоборот. Вы получаете полный контроль над окружением, любые порты и протоколы, Docker, PostgreSQL и фоновые воркеры.

Цена контроля простая: сервер нужно администрировать, мониторить и регулярно обновлять. Плюс инфраструктура требует постоянной оплаты.

2. Что происходит под капотом

Магии тут нет. Telegram Serverless работает по модели Function-as-a-Service, или FaaS. Код запускается в изолированных V8-песочницах.

Песочницы находятся рядом с серверами Bot API, поэтому ответы пользователю не делают лишний круг через внешний сервер. Для небольшого бота этого достаточно с запасом.

Состояние хранится во встроенной SQLite. Профили пользователей, счётчики, заметки и другие простые данные можно сохранять прямо из кода. Синтаксис похож на привычные ORM-инструменты, например Drizzle.

Есть одна особенность: код не работает постоянно. Когда пользователь присылает сообщение или нажимает кнопку, функция запускается, обрабатывает событие, обращается к базе, отправляет ответ и завершается.

Никаких процессов, которые круглосуточно сидят в памяти и чего-то ждут.

Жизненный цикл события в Telegram Serverless
Событие просыпает функцию, после ответа изолят снова засыпает.

3. Где заканчиваются возможности Serverless

Перенести сложный SaaS-проект на серверы Telegram целиком не получится. Платформа задаёт достаточно жёсткие рамки.

Фронтенд придётся разместить отдельно

У Telegram Serverless нет входящего веб-сервера, открытых портов и полноценного URL-роутинга для браузера. HTML, CSS и JavaScript-файлы туда просто не загрузить.

Если вы собираете веб-приложение, например в bolt.new, фронтенд придётся разместить отдельно: на Vercel, Cloudflare или другом хостинге. Serverless в такой схеме отвечает за API и бизнес-логику.

npm install здесь не спасёт

Привычной Node.js-экосистемы с бесконечными пакетами нет. Нельзя бездумно поставить тяжёлую библиотеку и подтянуть ещё двадцать зависимостей.

Код пишется на чистом JavaScript, а для работы используются встроенные инструменты платформы. Иногда это удобно. Иногда очень хочется привычный npm install.

Фоновые процессы запрещены самой моделью

Бот просыпается только после события и затем останавливается. Поэтому здесь не получится запустить:

  • бесконечный цикл;
  • парсер курсов валют;
  • долгоживущий воркер;
  • WebSocket-сервер;
  • постоянную синхронизацию в реальном времени.

Для таких задач нужен обычный сервер.

SQLite подходит не для всего

Встроенная SQLite хорошо справится с профилями, настройками, заметками, небольшими каталогами и счётчиками.

Но сложные связи, тяжёлая аналитика, очереди сообщений и постоянные фоновые операции быстро упрутся в ограничения. Тут VPS снова выходит на сцену.

Архитектура Telegram Mini App с Serverless
Интерфейс Mini App живёт на внешнем хостинге, логика бота работает в Telegram Serverless.

4. Для каких задач Serverless подходит отлично

Проверка идеи и MVP

Рабочего бота можно собрать за один вечер. Не нужно сначала поднимать сервер, настраивать окружение и разбираться с сертификатами.

Для проверки гипотезы это как раз тот случай: сначала смотрим, нужен ли продукт людям, потом выбираем более тяжёлую инфраструктуру.

Утилиты и персональные трекеры

Планировщик, Pomodoro-таймер, трекер задач, бот для заметок. Такие проекты хорошо укладываются в событийную модель и SQLite.

Можно хранить данные, присылать уведомления по расписанию и сделать локализованный интерфейс с тёмной темой. Без отдельного VPS на старте.

Лид-формы и небольшие сервисы

Сбор контактов, опросы, заявки, пересылка данных во внешнюю CRM. Бот принимает информацию и отправляет её дальше через исходящий HTTP-запрос.

Для такого сценария отдельный сервер часто выглядит как стрельба из пушки по воробьям.

Лёгкие интеграции

Пользователь отправляет запрос, бот обращается к платёжному шлюзу, AI-сервису или другому API, а затем возвращает ответ в чат.

Пока логика укладывается в ограничения рантайма, всё работает аккуратно и без лишней инфраструктуры.

5. Как выглядит разработка

Начинается всё с терминала:

npm create @tgcloud/bot

У проекта понятная структура:

Структура проекта Telegram Serverless
Папки handlers и lib, схема базы и инструкции для AI-кодеров.

Деплой выполняется командой:

npx tgcloud push

Миграции базы проходят в два шага. Для локального тестирования отдельной функции не нужно сразу отправлять код в продакшен. Можно запустить обработчик с тестовым payload:

npx tgcloud run

Есть и ещё одна любопытная деталь: проектом можно управлять со смартфона через меню бота в @BotFather. Поправить логику, проверить хендлер или быстро внести небольшое изменение получится без ноутбука.

Для полноценной разработки это не замена редактору. Но когда нужно срочно поправить мелочь, удобно.

6. Как выбрать архитектуру

Telegram Serverless хорошо снимает стартовую рутину, но не отменяет необходимость выбирать инструменты по задаче.

Берите VPS, если проекту нужны:

  • сложный фронтенд со своим хостингом;
  • PostgreSQL или другая тяжёлая база;
  • фоновые процессы;
  • WebSocket;
  • постоянные соединения;
  • полный контроль над окружением.

Выбирайте Telegram Serverless, если вы:

  • собираете чат-бота с простой логикой;
  • делаете опрос или трекер задач;
  • принимаете заявки;
  • связываете Telegram с внешним API;
  • проверяете гипотезу без расходов на DevOps.
Алгоритм выбора между VPS и Telegram Serverless
Два вопроса, которые помогают выбрать подходящую архитектуру.

Telegram Serverless не отменяет VPS. Он закрывает тот участок работы, где полноценный сервер часто оказывается избыточным.

Если вам нужен Telegram-бот под конкретную задачу, напишите нам. Обсудим идею, подберём архитектуру и честно скажем, где хватит Serverless, а где лучше сразу использовать VPS.

Полезен материал?

Оценок пока нет — будьте первым.

Обсуждение

Поделитесь мнением — первый комментарий задаст тон.

0

Оставить комментарий

Он появится после короткой проверки модератором.

* обязательные поля