Хостинг приложений на Java, Node.JS, React и не только. Обзор недорогих и бесплатных вариантов
В статье мы рассмотрим варианты хостингов для Java, Node.JS, React, Go, Python и других web и не только приложений. Разумеется, вы можете разместить ваше приложение на любом VPS-хостинге, но их мы не будем рассматривать, так как они не предлагают встроенной поддержки Node.js, Java, React и т.д.. Мы рассмотрим только специализированные решения, предлагающие простой деплой данных приложений.
- Heroku. Легендарная компания, стоящая на заре подобного вида хостинга, благодаря которой стал популярен GitOps подход. Первый по-настоящему serverless-провайдер. Приложения развертываются в специальных прерываемых контейнерах, называемых Dynos. Сервис качественный, но очень дорогой - в среднем по 25-50$ в месяц за приложение, если вы не хотите, чтобы оно останавливалось, когда к нему нет запросов. И есть проблемы с оплатой российскими картами. Поддерживает приложения на Java, Python, Node.JS, Ruby, Go.
- Amvera Cloud - российский сервис. Очень похож на Heroku по основной механике развертывания через push в мастер ветку привязанного или выделенного Git. Стоит существенно дешевле - минимальный тариф 170 руб./мес., а уже за 290 руб. вы получите объем ресурса, доступный в Heroku за 50$. Есть стартовый баланс для бесплатного тестирования. Поддерживает Python, Java (Maven, Gradle), Node.js и произвольные проекты, упакованные в Docker. В ближайшее время будут добавлены Golang, PHP и ряд других окружений. Помимо этого присутствует поддержка PostgreSQL, MySQL, Redis и MongoDB.
Движки хостинга приложений от Google, AWS и Azure:
- Elastic Beanstalk (AWS) – сервис от Amazon для развертывания WEB приложений. Но понадобится еще подтвердить телефон местного оператора (не РФ).
- Google App Engine
- Azure App Service
Данные сервисы концептуально похожи и предназначены для легкого развертывания приложений в классических облаках от Google, Microsoft и Amazon. Оплата за сервисы не взимается, но необходимо оплачивать ресурсы самих облачных провайдеров.
Другие похожие сервисы для хостинга приложений:
- Clever Cloud - французский сервис, поддерживающий развертывание проектов на Golang, Haskell, Java, Node, PHP, Python, Ruby, Rust, Scala и .NET. Сервис похож на Heroku, но предлагает более демократичные цены (от 4,5 евро за инстанс приложения). Единственное, вам потребуется европейская карта для оплаты (с которой сразу спишется 20 евро).
- Engine Yard - сервис доставки кода в AWS c GitOps подходом. Предлагает инстансы AWS с настроенной доставкой кода. В свое время сервис был одним из конкурентов Heroku, но остался на “вторых” ролях. Из особенностей - высокая стоимость, которая начинается от 180$ за инстанс EC2.
Альтернативные способы хостинга приложений
Использование serverless функционала облачных провайдеров. Из преимуществ - можно организовать почти бесплатный хостинг. Из недостатков - существует определенный порог входа и данный функционал больше предназначен для использования в качестве составной части более сложных продуктов. Как один из примеров - регулярная отправка писем, где функция отрабатывает и уходит в спящий режим. Другим недостатком serverless является холодный старт. Когда приходит первый запрос к вашему приложению, оно ответит не сразу, а только когда запустится. Поэтому это не лучший вариант для ботов и подобных сервисов, где ответ необходим в режиме реального времени.Использования инструмента на ваш выбор для автоматизации CI/CD в связке с классическим VPS или облаком. Вы платите только за хостинг, но сам инструмент нужно установить и настроить.
Составим сравнительную таблицу.
В статье мы рассмотрели несколько специализированных сервисов для хостинга приложений на Java, Python, Node.JS, Ruby, Golang. Концептуально можно выделить следующие подходы:
- специализированный хостинг/облако/сервис с GitOps подходом. Ваша задача - отправить код через push в мастер-ветку выделенного репозитория, после чего сервис сам все соберет и запустит. К таким сервисам относятся Heroku (США), Amvera Cloud (Россия), Clever Cloud (Франция).
- инструмент развертывания приложений от AWS, GCP и Azure, соответствующий инфраструктуре данных облачных провайдеров.
- VPS с самостоятельной настройкой инструмента для осуществления CI/СD.
Все из перечисленных способов и сервисов могут подойти для развертывания вашего приложения, и выбор оптимального варианта зависит от конкретных требований.
Также проверьте веб-хостинг. https://vc.ru/life/390377-kak-vybrat-hosting-dlya-svoego-sayta
Самый лучший вариант с моей т.з. это чистый Linux на VPS. Ибо только желание и попытка разобраться во всем с самого начала и настройка с чистого листа (довольно простая, для Node.JS, Python, PHP, SQL, etc, ) дает полное понимание последний того или иного решения и почему что-то глючит или работает не так.
Да "они не предлагают встроенной поддержки", но эту поддержку довольно просто встроить, ничего сложного там нет абсолютно.
VPS дает больше свободы действий. Но с другой стороны и "выстрелить себе в ногу" проще.
Привет, подскажи пожалуйста, я хочу развернуть сайт сделанный на gatsby,
если я арендую vps хостинг, смогу запустить свой сайт без поддомена?
Есть хотя бы примерные инструкции?
На самом деле есть много иностранных сервисов с развертыванием через Git. Можно их рассмотреть.
Сервисы есть, но как ниже написал (не туда ответил), либо карта нужна, либо ограничений на бесплатных тарифах очень уж много.
Можно, но там проблема в том, что везде нужна валидная карта иностранного банка, а с этим проблемы сейчас у многих. А если такая карта есть, то я специально указал в статье Heroku, как, пожалуй наиболее зрелый иностранный сервис. Собственно с него и начался GitOps подход к деплою.