Можно выделить следующие виды хостингов и облаков для развертывания приложений:
VPS
Serverless
GitOps движки приложений
В этой статье мы не будем рассматривать VPS-хостинги, так как на эту тему уже есть множество подробных материалов и есть специализированные инструменты CI/СD.
Рассмотрим движки приложений и serverless.
Хостинги для приложений
Есть целый ряд облаков, которые позволяют развернуть приложение, просто делая push в выделенный Git-репозиторий.
Из российских сервисов можно выделить Amvera Cloud.
Amvera Cloud позволяет развертывать и обновлять приложения через push в мастер ветку выделенного или привязанного репозитория, либо через перетаскивание файлов в интерфейсе. Имеется встроенная поддержка таких окружений, как Python, Java, Node.JS, C# (ASP.NET), Go, Ruby, PHP, Dockerfile и других. Чтобы развернуть приложение, достаточно запушить код и создать один конфигурационный файл в интерфейсе сервиса. Есть возможность создавать кластер PostgreSQL и других баз данных одной кнопкой. При регистрации начисляется 111 руб. на тест. Возможна оплата российской картой. Из дополнительных преимуществ, в Amvera есть проксирование до OpenAI, Docker Hub и других заблокированных для российских пользователей сервисов. Тарифы начинаются от 170 руб. за приложение.
Из международных сервисов:
Heroku - компания-первопроходец в GitOps облаках, первая реализовавшая механику развертывания через git push. Тарифы начинаются от 5$. Имеется поддержка большинства языков программирования. А именно, Node.JS, Ruby, Java, PHP, Python, Go, Scala, Clojure. А также возможность развернуть PostgreSQL, Redis и Kafka.
Clever Cloud - французская компания, во многом повторяющая функционал Heroku. При этом сервис поддерживает managed MongoDB, Elastic и MySQL, а также брокер сообщений Pulsar, приложения на Elixir, Haskell и Rust. Все это позволяет отличаться от конкурентов и найти свою нишу.
RailWay - компания позиционирует себя как более дешевая альтернатива Heroku. Хотя цены на мой взгляд сравнимы.
Движки приложений от Azure, GCE, AWS , Digital Ocean. Решения позволяют легко разворачивать приложения в виртуальных машинах данных провайдеров.
Serverless app hosting
Если рассматривать serverless решения, то стоит выделить
Serverless от Яндекс облака. При определенных условиях можно разместить приложение бесплатно, если количество запросов к нему будет небольшим.
Проведем анализ хостингов для развертывания приложений
Сколько будет стоить разместить приложение, потребляющее 300 мб ОЗУ
Амвера Клауд - 290 руб. (~3$ в месяц)
Хероку - 25 $ в месяц;
Clever Cloud - 6 евро в месяц;
Движки приложений от Azure, GCE, AWS и Digital Ocean. Сами движки работают бесплатно, но за виртуальные машины приходится платить. Их стоимость начинается от 3-4 долларов в месяц;
Serverless от Яндекс Облака - от 0 до 30$ в месяц в зависимости от количества запросов;
Бессерверные приложения от Azure, GCE и AWS — от 0 до 30$ в месяц в зависимости от количества запросов.
Итоги
Если у вас только Российская карта, хорошим выбором будет либо Amvera Cloud, либо Яндекс Облако.
Если вы хотите сэкономить и у вас маленькая нагрузка, дешевле всего использование Serverless решений. Но при повышении нагрузки они становятся очень дорогими.
Если у вас приложение активно работает и не хочется переплачивать, остановите выбор на Amvera Cloud.
Если вы используете приложение как часть инфраструктуры одного из облачных провайдеров, логично развернуть его через движок приложений в AWS, Azure или GCP.
Data4
Либо, можно взять любую виртуальную машину и настроить деплой через инструмент CI/CD на выбор. Требует время, но может получиться весьма бюджетно
MarkovM Автор
Можно конечно. Но тут вопрос в трудозатратах. Сервисы из списка уже содержат встроенный CI/CD во многих случаях. Достаточно делать git push и обновления будут накатываться. Да и по стоимости часто это не дороже получается
Data4
Но Heroku, честно говоря, не самый бюджетный вариант)