JavaRush/Java блог/Random UA/Деплой Java-програм у хмарну платформу Amazon Web Service...
Евгений
41 рівень

Деплой Java-програм у хмарну платформу Amazon Web Services (AWS)

Стаття з групи Random UA
учасників
Всім привіт! Кожному розробнику рано чи пізно доводиться деплоїти свої програми у хмару. У моєму випадку, після розробки телеграм-бота @rabotaUkraineBot стало просто необхідно знайти йому пристойний хостинг. Сама ідея розробки бота та використані інструменти для реалізації описані в окремій статті . Кандидатами у виборі хмарної платформи були сервіси чотирьох відомих гігантів - Amazon Web Services (AWS), Google, Azure і Heroku. При виборі хостингу для себе я поставив такі пріоритети: мінімальна ціна, зручність деплою, наявність додаткових сервісів, гнучкість. Не занурюватиму Вас в аналітику та порівняння, повідомлю відразу переможця — AWS. Деплой Java-додатків у хмарну платформу Amazon Web Services (AWS) - 1Чому ви запитаєте AWS? Тому що:
  • рік безкоштовного використання AWS Free Tier , безкоштовних ресурсів у рамках цієї пропозиції для мого завдання вистачає з лишком;
  • у AWS все Elastic, тобто. все гнучке та еластичне. Завдяки цьому при деплоі вашої програми абсолютно не потрібні навички DevOps;
  • AWS останні два роки вкладає колосальні кошти у розвиток, нові сервіси з'являються щомісяця.
А тепер перейдемо до підготовки програми і власне самого деплою в хмари AWS. Для зручності використання було обрано сервіс Elastic Beanstalk для деплою програми. З його допомогою ви через браузер завантажите свою програму і все! Так-так, AWS сам налаштує інфраструктуру і виділить потрібний пул ресурсів. Так як мій бот написаний на SpringBoot, все що потрібно - це зібрати war за допомогою spring-boot-maven-plugin і перевірити коректну роботу програми на локально розгорнутому Tomcat . Дуже важливе зауваження, перед складання потрібно в application.properties поставити номер порту 5000:
server.port=5000
Якщо цього не зробити, доведеться конфігурувати налаштування порту в консолі AWS за що може бути взята додаткова плата з боку AWS т.к. це виходить за межі надання безкоштовного сервісу AWS Free Tier. Сам процес деплою абсолютно не складний і робиться згідно з офіційним гайдом Getting Started Using Elastic Beanstalk . З особливостей, на які слід звернути увагу:
  • при складанні програми не забути налаштувати порт як зазначено вище;
  • при реєстрації в AWS вам знадобиться платіжна картка з щонайменше 1$ на рахунку (при валідації картки Amazon блокує 1$);
  • уважно вивчіть обмеження безкоштовного сервісу AWS Free Tier, щоб не потрапити на гроші;
  • якщо після деплою програма не працює, як очікувалося, логи Tomcat ви знайдете в меню Logs в Environment вашої програми.
А що робити за рік після використання безкоштовного періоду, запитаєте ви? Є кілька варіантів вирішення питання:
  1. почати платити гроші відповідно до використаних ресурсів;
  2. перейти на сервіс Amazon Lightsail (там дешевше);
  3. переписати програму з використанням AWS Lambda та отримати безкоштовних хостинг;
  4. відкрити новий обліковий запис із сервісами AWS Free Tier і задеплоїти туди вашу програму, тобто. відтягнути вирішення питання ще на один рік.
Зараз AWS при реєстрації нового облікового запису перевіряє лише унікальність e-mail. Підсумуємо: у хмари AWS ви можете легко задеплоїти свою програму — дуже швидко і абсолютно безкоштовно на перший рік. Завдяки сервісам AWS ми можемо сконцентруватися на розробці, все інше за нас зробить AWS, тому що там все Elastic.
Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.