Всем привет!
Каждому разработчику рано или поздно приходиться деплоить свои приложения в облако. В моем случае, после разработки Телеграм-бота @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 и задеплоить туда ваше приложение, т.е. оттянуть решение вопроса еще на один год.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ