Обновить

Хостинг для бота: как без лишних усилий запустить Python бота в Docker-контейнере и почему это удобно

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели11K
Всего голосов 10: ↑9 и ↓1+9
Комментарии10

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

За статью спасибо, но решение выглядит как какой-то ужасный и лет на 5-7 отставший от жизни костыль.

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

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

Спасибо за комментарий. Статья у нас про бота и его запуск, в этом контексте и продолжим. Запустить бота в кубере? Это отличный совет, если вы продаете кластеры кубернетос. Почему то не озвучено, что это будет раз в 5-7 дороже и функционал кубера нужен для бота примерно на 5%.

Зачем продавать кластер кубера? Кластер кубера нужно сравнивать с "кластером для запуска докер приложений у провайдера", а не с "запуском одного приложения".

Прямым аналогом а вашем случае будет " аренда неймспейса в кубера" - там можно запустить как один контейнер, так и несколько. "Цена" запуска - достаточно приложить к контейнеру манифест размером в 20 строчек, причём манифест может предоставить провайдер.

p.s. Более того, я практически уверен, что в обозреваемом вами провайдере под капотом будет тот самый куб и те же самые неймспейсы ;)

Не слышал что где-то можно арендовать отдельный неймспейс в кубере. Функционал, про который пишите, это скорее PaaS и CaaS платформы, мы про них писали в предыдущей статье блога Платформы для хостинга Docker-контейнеров: Обзор PaaS и CaaS сервисов

p.s.: а под капотом у нас действительно кубер, об этом на лендинге написано.

Есть довольно много людей, которые могут разработать бота (тем более тестировать можно локально), но задеплоить – проблема. Идеальный вариант для них даже не CaaS, а PaaS по типу Heroku, чтобы `git push` без докерфайлов и всё работает.

Не спорю, что кубер – это стандарт индустрии, но его ещё нужно изучить, да и для одного бота кажется оверкилл.

Связка гитлаб + автоматические CI, либо GitHub полностью решают проблему. Причём функционал может поддерживать и провайдер.

Я только что понял, что это не просто чьë-то наблюдение, а рекламная статья компании по продаже хостинга докер контейнеров. И в этом случае мои комменты явно не к месту ;))

После предыдущей статьи решил попробовать DockHost в деле.
Пока ещё не попробовал, но пришёл к выводу, что для лёгких постоянно запущенных приложений сервис слишком дорогой. Какой-нибудь дешёвый vds, позволит увеличивать количество ботов без увеличения стоимости.
Пока планирую использовать DockHost для тяжёлых скоротечных задач с прогнозируемым расходом ресурсов. Когда контейнер умирает сразу после завершения работы.
Из данной статьи меня заинтересовала возможность автоматической сборки образа по пушу в git. Хотелось бы понять, можно ли запустить сборку без запуска контейнера. И как рассчитывается стоимость этой операции.

Давайте на примере посмотрим, что понимается под легкими приложениями. Например, легкий бот на Python, занимающий 1 CPU (5%) и 128 Mb оперативки, за полный месяц работы обойдется в 65 рублей. Это дорого?
А дешевый vds, как он позволит увеличивать количество ботов без увеличения стоимости? У любого vds вы покупаете конкретный обьем ресурсов, тут логичнее сравнивать стоимость за единицу ресурса.

По вопросу о сборке. Да, можно. Если выключить контейнер после первой сборки, то при последующей сборке обновится только его образ, и Вы сможете его включить с новым образом когда будет нужно. Сборка контейнеров сейчас не тарифицируется, так что операция будет бесплатной.

Начнём с того, что я не объективен. Из-за wireguard у меня уже есть VDS и мне хочется максимально утилизировать ресурсы машины. Думаю, у большинства, тех кому интересен ваш сервис, так же. Сменить vds на dockhost - не вариант. DockHost не предоставляет всех возможностей. Для меня озвученные 65 рублей - уже дополнительные расходы. Если я правильно понял, то если меня заспамят, то они могут быть больше.
Теперь можно перейти к конкретике. У меня vds 1CPU/1Gb/20Gb за 300 руб/мес. На нём один бот и одно приложение на Flask. Они чуть посложнее, чем эхо-бот, поэтому у обоих есть БД в SQLite, подключенные через volume. Данные из БД терять не хочется, поэтому есть ещё крон, который отправляет копии БД в S3.
Я могу без риска производительности добавить ещё 10 ботов. Дальше упрусь в память.
В таком контексте vds сильно дешевле. А если учесть, что любое из моих приложений можно заспамить, то расход ещё и прогнозируемый.
Можете найти меня в телеграмме и я расскажу, какие мои проблемы никто кроме DockHost решить не может и какими функциями я не буду пользоваться. С какими проблемами UI я столкнулся, и что заставило меня думать, что ваш сервис дорогой.

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

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

Информация

Сайт
dockhost.ru
Дата регистрации
Дата основания
Численность
2–10 человек
Местоположение
Россия
Представитель
DockhostTech