Как стать автором
Обновить

Как задеплоить своего телеграм-бота (почти) бесплатно — Quickguide в облачный Serverless

Время на прочтение5 мин
Количество просмотров15K
Всего голосов 20: ↑17 и ↓3+18
Комментарии19

Комментарии 19

А пока бот в разработке/отладке вы переключаете вебхук на локальную машину? Или каждый раз деплоитесь, чтобы протестировать?

Помню, что в начале разработки запускал локально. Как только сделал Makefile стало проще сделать make deploy и подождать секунд 10-20 до деплоя в облако :)

На каждый запрос из телеграма всегда запускается заново контейнер?

Не на каждый. Есть возможность задать параметр concurrency — количество одновременно обрабатываемых контейнером запросов. От 1 до 16. Также serverless контейнеры будут горизонтально масштабироваться, если одновременно поступает много вызовов.

У меня только в яндекс облаке получилось сделать бота который стабильно работает.

писал на питоне. библиотеки не использовал для телеграм бота чисто API

без API gateway

YDB тоже использовал в этом

было моловато информации но техническая поддежка в самые сложные моменты помогала.

а как физлицу получить доступ к этому шайтанству?

А разве есть какие-то проблемы? Зарегистрировался - и вперед.

У меня во время создания платежного акаунта спрашивает название организации и поле обязательное

Все так. В Yandex Cloud иерархия ресурсов выглядит следующим образом: Организация -> Облако -> Folder (Проект) -> Ресурсы (VM, VPC, etc)

Поэтому при регистрации вам надо будет создать организацию. Даже если вы физ лицо.

К организации привязаны такие сервисы как DataLens, Billing.

получается я ничего не нарушу если введу там название несуществующей организации?

Абсолютно точно. Моя личная организация например называется tony-org. Ничего страшного:)

Здорово! Спасибо за информацию и познавательную статью

Я обычно размещаю своих тг ботов в ажуре (тоже полностью serverless). Но у Ажуры есть одна очень раздражающая меня черта: все что касается баз данных (хранение и транзакции), любых - реляционных и не очень - все стоит, по отношению к другим ресурсам, просто космически. Если делать stateless бота, то да, тоже выходит 10р в месяц, но стоит подключить любое хранилище - и привет косарь как с куста каждый месяц.
Оч рад что появляется отечественный аналог, да еще и с дешевыми бд. Есть повод задуматься о миграции. Еще было бы супер еслиб это все было завернуто с SaaS по типу azure functions, потому что возиться с контейнерами очень не очень. Ну и поддержку деплоя инфраструктуры (не знаю, может она уже есть?), по типу azure-cli и json деклараций. И былоб шайтан-решение кмк.
UPD: ах пардон, в листинге мейк-файла увидел что какой-то cli таки есть. Но не понял можно ли ему подпихивать какие-то файлы с описанием инфраструктуры с зависимостями и тп

И еще вопрос вдогонку - а какие есть триггеры активации контейнера? Только входящий хттп запрос? А, ну там, таймер или сообщение из message broker-а?

Уже есть и yc cli (https://cloud.yandex.com/en-ru/docs/cli/operations/install-cli) и ресурс в терраформ провайдере (https://registry.tfpla.net/providers/yandex-cloud/yandex/latest/docs/resources/serverless_container)

Попробуйте, я и сам хотел переписать деплой на TF, но руки еще не дошли...

Спасибо, полезный для меня материал. Так можно собственно любой erst-api сервис задеплоить, не только телеграм-бот

Зарегистрируйтесь на Хабре, чтобы оставить комментарий