Короткий ответ: бота для Авито можно держать на четырёх типах площадок — свой компьютер, арендованный виртуальный сервер (VPS), облачные функции и готовая платформа приложений. Для боевой работы реально используют два средних варианта, чаще всего VPS: он даёт постоянный публичный адрес, предсказуемую цену и полный контроль над окружением.
Вопрос «где хостить бота» обычно возникает уже после того, как код написан и работает на ноутбуке. Здесь и выясняется, что бот — не скрипт, который запускают вечером, а сервис, который должен быть доступен круглосуточно, принимать входящие запросы от площадки и переживать перезагрузки. Ниже — требования, варианты и структура расходов.
Что вообще требуется от площадки
Бот, который отвечает в чатах Авито, — это небольшое веб-приложение. Ему нужно:
- публичный адрес по HTTPS, на который площадка сможет присылать уведомления о новых сообщениях. Локальный адрес на ноутбуке не подходит;
- постоянная работа. Покупатели пишут ночью и в выходные, и именно ночные ответы дают преимущество — об этом отдельный разбор;
- исходящий интернет — к API площадки и к API языковой модели;
- хранилище состояния: токены доступа, история диалогов, отметки об эскалации. Файл на диске работает до первого перезапуска, дальше нужна база;
- место под логи, иначе разбирать инциденты будет нечем.
Этот список и отсекает половину вариантов.
Вариант первый: свой компьютер
Работает на этапе отладки, и только. Проблемы известны заранее: домашний провайдер выдаёт серый адрес, туннели рвутся, электричество отключают, а система в неудачный момент уходит на перезагрузку ради обновления. Плюс шум и износ железа.
Отдельная разновидность — маленький одноплатный компьютер в кладовке. Он тише и экономичнее, но все сетевые проблемы остаются. Как временное решение на неделю тестов — нормально. Как основа для сервиса, от которого зависят продажи, — нет.
Вариант второй: виртуальный сервер
Самый частый выбор. Вы арендуете виртуальную машину, получаете белый адрес и root-доступ, ставите что угодно.
Что придётся сделать руками:
- создать пользователя без root, закрыть вход по паролю - настроить фаервол: наружу открыты только 80 и 443 - поставить веб-сервер как обратный прокси - выпустить сертификат и включить автопродление - завернуть бота в системную службу с автозапуском и перезапуском - настроить ротацию логов и регулярный бэкап базы
Ни один пункт не сложный, но вместе это несколько часов первый раз и час-два в месяц дальше. Заранее закладывайте это время — оно и есть скрытая часть цены.
Ресурсы для бота на чатах нужны скромные: почти всё время он ждёт ответа от внешних API, а не считает. Узкое место обычно не процессор, а память и дисковое место под логи.
Вариант третий: облачные функции
Модель «код запускается только на время обработки события» выглядит идеально для вебхуков: пришло сообщение — функция проснулась, ответила, уснула. Платите за вызовы.
Подводные камни:
- холодный старт. Первая после паузы обработка занимает заметно дольше. Для бота, чья ценность в скорости ответа, это минус;
- нет постоянного состояния. Историю диалога и токены надо класть во внешнюю базу — это отдельная услуга и отдельные деньги;
- ограничение времени выполнения. Если модель отвечает долго, а вы ещё разбираете фото, можно упереться в лимит;
- сложнее отлаживать. Логи разбросаны по вызовам.
Функции хорошо подходят для редких фоновых задач: ночной пересчёт статистики, выгрузка отчёта. Для основной линии ответов — реже.
Вариант четвёртый: готовая платформа приложений
Промежуточный вариант: вы отдаёте репозиторий, платформа сама собирает, разворачивает и держит HTTPS. Администрировать сервер не нужно.
За удобство платят двумя вещами. Первая — цена: за те же ресурсы обычно дороже голого VPS. Вторая — потеря контроля: если платформе не понравится ваш способ хранить файлы или держать фоновый процесс, придётся подстраиваться.
Для первого боевого запуска это разумный компромисс: вы проверяете гипотезу, не тратя выходные на настройку сервера.
Крайняя точка этой шкалы — вообще не держать инфраструктуру: у готового сервиса ответов в чатах сервер, обновления и дежурство уже входят в абонентскую плату, а вы настраиваете только то, что бот говорит.
Структура расходов
Дальше — цифры для примера, проверьте актуальные тарифы у выбранного провайдера, они меняются и различаются в разы.
Расходы делятся на четыре части:
Постоянные, предсказуемые. Сервер и домен. Платёж один и тот же независимо от того, пришло десять сообщений или тысяча.
Переменные, растущие с нагрузкой. Оплата языковой модели за обработанные сообщения. Это единственная статья, которая масштабируется вместе с продажами; на активном аккаунте она обгоняет сервер. Подробнее — в разборе о том, какую модель выбрать.
Разовые. Разработка и первичная настройка. Считаются не в рублях, а в часах вашего времени, и обычно занижаются вдвое.
Скрытые, но неизбежные. Доработка промптов после первых живых диалогов, разбор поломок, обновления. Про них подробно — в материале про автоматизацию Авито.
Ошибка, которую делают почти все: сравнивают только первую строку. «Сервер стоит копейки, значит бот стоит копейки». Первая строка — самая маленькая из четырёх.
Что забывают заложить
- Резервные копии базы. Потерять историю диалогов и разметку — значит начать с нуля.
- Мониторинг. Сервер жив, процесс упал — снаружи это выглядит как молчание в чатах.
- Обновления. Библиотеки и ОС требуют внимания, иначе однажды перестаёт выпускаться сертификат.
- Второй экземпляр для тестов. Проверять правки на боевом боте — плохая идея: ошибка сразу уходит покупателю.
- Хранение токенов. Ключи доступа нельзя держать в репозитории, нужны переменные окружения или хранилище секретов.
Каждый пункт по отдельности мелочь, вместе — постоянная фоновая обязанность.
Когда этот выбор не имеет значения
Есть случаи, когда обсуждать хостинг рано.
У вас единицы сообщений в неделю. Пока поток маленький, любые расходы на инфраструктуру не окупятся. Сначала — поток, потом автоматизация.
Вы ещё не решили, что бот должен говорить. Площадка не влияет на качество ответов. Сценарий, шаблоны ответов и логика передачи диалога человеку важнее любого сервера.
Бот нужен на месяц. Под разовую сезонную задачу проще арендовать самый простой сервер и удалить его после, не строя архитектуру.
Вы один и отвечаете быстро. Пока успеваете сами, автоматизация решает несуществующую проблему.
Коротко
Для боевого бота реалистичны два варианта: виртуальный сервер, если вы готовы администрировать, и готовая платформа, если не готовы. Домашний компьютер годится только для отладки, облачные функции — для фоновых задач. Расходы состоят из четырёх частей, и аренда сервера — самая маленькая и самая предсказуемая из них; основные деньги уходят на оплату модели и на ваше время после запуска.
Если считать честно, собственный хостинг — это не строка в счёте, а обязанность: следить, обновлять, дежурить. «Папа БУ» берёт эту часть на себя — бот отвечает вашими словами круглосуточно, а сервер, обновления и мониторинг остаются нашей заботой. Попробовать три дня бесплатно.
Если решение под свой бизнес нужно, а разбираться самому некогда — напишите мне в Telegram: @artem_sergeevic. Я делаю такие сервисы на заказ: обсудим задачу и честно разберём, что в ней действительно нужно, а что можно не делать вовсе.