Буває безкоштовний хостинг для ботів, а буває платний. У цій статті розглянемо коротко обидва варіанти: що краще для яких проектів, на що звертати увагу при пошуку провайдера, які можуть бути обмеження та підводні камені. Сподіваємось, ця інформація допоможе вам визначитися з вибором.
Зміст
VPS-хостинг
Найнадійніший варіант для стабільної роботи бота. Такий хостинг варто вибрати, якщо: 1) бот має бути в онлайні 24/7; 2) ботом користується багато людей одночасно; 3) у роботі робота використовується машинне навчання; 4) на взаємодію з компонентами бота та обробку деяких команд уходить більше ніж 20 секунд.
В Україні VPS-сервер зазвичай коштує від $10 до $15 на місяць. У США та Європі — від $3 до $10. Але сервери європейських та американських провайдерів часто розташовані надто далеко. Якщо користувачі бота живуть в Україні, є сенс обрати сервер ближче, щоб швидкість передачі даних була вищою.
При виборі провайдера орієнтуйтесь на дві речі: 1) тестовий період, щоб спочатку перевірити роботу хостингу без особливих витрат; 2) цілодобову службу підтримки, щоб за необхідності вона допомогла все налаштувати. Також корисним буде, якщо провайдер надає безкоштовну базову допомогу в адмініструванні сервера.
Все це є у нас у HOSTiQ: своя хмара з дата-центром у Львові, цілодобова дбайлива служба підтримки та тестовий період для нових клієнтів — перший місяць за $1.
Віртуальний хостинг
Дешевший варіант порівняно з VPS, але при невеликих навантаженнях він теж працюватиме стабільно. Такий хостинг підійде для простого телеграм або дискорд-бота, який видає заготовлені відповіді на слова-тригери.
Ще віртуальний хостинг можна обрати для старту. А якщо згодом знадобиться більше ресурсів, завжди можна буде перейти на більш потужний тариф.
При виборі провайдера використовуйте підхід, який ми описали вище: по можливості спочатку візьміть хостинг на тест і знайдіть варіант зі службою підтримки 24/7, щоб при необхідності вони підказали, як у них розгорнути додаток на PHP/Python/NodeJS.
До речі, не в усіх провайдерів на віртуальному хостингу є підтримка Python або NodeJS. На це також варто звернути увагу. І не ведіться на провайдерів, які обіцяють необмежені ресурси RAM та CPU у своїх тарифах. Це нечесна реклама. У таких тарифах все одно є приховані ліміти.
В нас у HOSTiQ ви можете взяти будь-який тариф віртуального хостингу на безкоштовний тестовий період у 30 днів. Ось інструкція по запуску програми на Python у панелі керування нашим хостингом.
Безкоштовний хостинг
Безкоштовний хостинг для Telegram-бота або Discord-бота ділиться на дві категорії: спеціалізовані сервіси та безкоштовні тарифи у великих хмарних провайдерів.
Безкоштовні PaaS-сервіси
Мова про сервіси на кшталт PythonAnywhere, Replit, Glitch, Render або Bot-Hosting.net. Раніше ще були Railway і Heroku, але наразі вони вже більше не надають безкоштовні тарифи.
Такі сервіси — непоганий варіант для студентів та хобі. Також безкоштовний хостинг може бути корисним для тестування дискорд/телеграм бота: можна викласти його спочатку там, перевірити всі функції, а потім переходити на віртуальний хостинг або VPS.
З нюансів — у подібних сервісів часто бувають додаткові обмеження на кшталт таких:
- Потрібно будувати проект навколо екосистеми сервісу. Через це можуть бути проблеми, якщо знадобиться змінити хостинг у майбутньому. Наприклад, якщо сервіс вирішить прибрати безкоштовний тариф. Або ж можна зіткнутися з проблемою, рішення якої поки що ніде не описано, і розробка зупиниться.
- Не вийде тримати бот в онлайні 24/7. На таких сервісах боти зазвичай відключаються через якийсь час без активності. Щоб тримати їх цілодобово в онлайні, знадобиться сторонній веб-сервер або спеціальний сервіс, який тільки збільшить витрати ресурсів. Причому той же Glitch забороняє використовувати сервіси моніторингу, такі як Uptime Robot, на безкоштовному тарифі.
- Керування залежностями часто мінімальне, а отже речі на зразок lxml (libxml) і PyNaCl (libsodium, необхідний для підтримки голосу) не працюватимуть у нативному середовищі, що змусить вас використовувати сторонні засоби керування розширеннями.
- Платні тарифи дорожчі, ніж віртуальний хостинг. $7/місяць за те, щоб один невеликий контейнер Heroku був в онлайні 24/7, а за більший обсяг ресурсів ціна збільшується експоненційно.
- Якісь сервіси можуть бути недоступні. Наприклад, на безкоштовному хостингу від PythonAnywhere не буде доступу до хостингу за SSH. Його надають лише на платних тарифах.
- Часто бувають обмеження на те, що можна розміщувати на платформі. Наприклад, на Railway були заборонені музичні роботи, Lavalink.
Безкоштовні тарифи у хмарних сервісах
У AWS, Google Cloud та Azure можна отримати безкоштовний мікро-сервер для бота на 1 рік. Ресурсів на ньому буде мінімально, але для невеликих ботів їх має бути достатньо. Єдине, там треба прив’язати карту і стежити, щоб бот не вийшов за межі місячних лімітів, бо почнуть знімати гроші.
В Oracle Cloud є дуже потужний (до 4 ядер, 24 ГБ ОЗП та 200 ГБ диска) безкоштовний сервер для телеграм або дискорд бота на базі процесорів ARM Ampere A1 Compute. Але вони іноді видаляють такі сервери приблизно раз на 60 днів. Тож варто робити бекапи завантажувального тому на такий випадок. Щоб, якщо що, легко відтворити сервер.
Є також варіант безкоштовного розміщення на Cloudflare, але він підійде не для всіх ботів. Для нього потрібно переписати бот, щоб він міг працювати за допомогою безсерверних функцій, які називаються Cloudflare Workers. До речі, інструкція з розміщення бота на цьому сервісі є навіть на офіційному сайті Discord (англійською):
Як розмістити Discord-бота на Cloudflare Workers
Власний хостинг
Ви можете влаштувати безкоштовний хостинг для телеграм/дискорд бота прямо у себе вдома, якщо у вас є старий непотрібний комп’ютер або плата Raspberry Pi.
Вам також знадобляться базові знання Linux, щоб встановити ОС, розгорнути віртуальне оточення та все налаштувати. Після цього можна просто запустити бота і не вимикати комп’ютер.
Безперебійна робота робота на такому хостингу буде залежати від потужності вашого інтернету та стабільного доступу до електроенергії. В принципі, звичайного домашнього інтернету має бути достатньо для навчання або невеликого бота для друзів.
Якщо згодом проект переросте у щось серйозне і почне вимагати багато ресурсів, завжди можна буде переїхати на платний хостинг.
Розкажіть у коментарях, який хостинг для бота (телеграм або дискорд) вибрали ви — безкоштовний або платний. Поділіться своїм досвідом розміщення.