Всім привіт! Кожному розробнику рано чи пізно доводиться деплоїти свої програми у хмару. У моєму випадку, після розробки телеграм-бота @rabotaUkraineBot стало просто необхідно знайти йому пристойний хостинг. Сама ідея розробки бота та використані інструменти для реалізації описані в окремій статті . Кандидатами у виборі хмарної платформи були сервіси чотирьох відомих гігантів - Amazon Web Services (AWS), Google, Azure і Heroku. При виборі хостингу для себе я поставив такі пріоритети: мінімальна ціна, зручність деплою, наявність додаткових сервісів, гнучкість. Не занурюватиму Вас в аналітику та порівняння, повідомлю відразу переможця — AWS. Чому ви запитаєте AWS? Тому що:
- рік безкоштовного використання AWS Free Tier , безкоштовних ресурсів у рамках цієї пропозиції для мого завдання вистачає з лишком;
- у AWS все Elastic, тобто. все гнучке та еластичне. Завдяки цьому при деплоі вашої програми абсолютно не потрібні навички DevOps;
- AWS останні два роки вкладає колосальні кошти у розвиток, нові сервіси з'являються щомісяця.
server.port=5000
Якщо цього не зробити, доведеться конфігурувати налаштування порту в консолі AWS за що може бути взята додаткова плата з боку AWS т.к. це виходить за межі надання безкоштовного сервісу AWS Free Tier. Сам процес деплою абсолютно не складний і робиться згідно з офіційним гайдом Getting Started Using Elastic Beanstalk . З особливостей, на які слід звернути увагу:
- при складанні програми не забути налаштувати порт як зазначено вище;
- при реєстрації в AWS вам знадобиться платіжна картка з щонайменше 1$ на рахунку (при валідації картки Amazon блокує 1$);
- уважно вивчіть обмеження безкоштовного сервісу AWS Free Tier, щоб не потрапити на гроші;
- якщо після деплою програма не працює, як очікувалося, логи Tomcat ви знайдете в меню Logs в Environment вашої програми.
- почати платити гроші відповідно до використаних ресурсів;
- перейти на сервіс Amazon Lightsail (там дешевше);
- переписати програму з використанням AWS Lambda та отримати безкоштовних хостинг;
- відкрити новий обліковий запис із сервісами AWS Free Tier і задеплоїти туди вашу програму, тобто. відтягнути вирішення питання ще на один рік.