Назад | Перейти на главную страницу

Автоматическое развертывание приложений на облачном сервере

Я размещал свои приложения на AWS EC2 и на днях я попробовал OpenShiftМне понравилось то, что весь процесс развертывания автоматизирован, но мне не понравилась цена, так как я знаю, что использование EC2 дешевле, потому что я могу разместить много приложений на одном сервере.

Я хочу знать, как я могу имитировать процесс OpenShift для моих собственных развертываний в AWS? Причина очевидна, процесс повторяется, каждый раз, когда я хочу добавить приложение, мне нужно создать новый виртуальный хост и указать для запуска node.js / php / python... Еще одна особенность, которая мне понравилась в ОС, заключалась в том, что мне не нужно было загружать весь проект, на самом деле мне просто нужно было нажать git репо для его развертывания.

Благодаря @BillSchaller я обнаружил, что платформа AWS предлагает кое-что, чтобы это сделать, дело в том, что это сбивает с толку, поскольку существует множество таких сервисов, как CodeCommit, CodeDeploy, CodePipeline, OpsWork это похоже на похожие вещи ... Они дополняют друг друга или как?

Итак, вот в чем дело:

  1. Какие продукты AWS подходят для настройки инфраструктуры, позволяющей выполнять следующие действия:
    • Создавайте экземпляры приложений, которые генерируют репозитории git и конфигурации виртуальных хостов, которые будут работать с node.js / php / python / java.
    • Обновите производственное приложение, когда git repo отправлено (обновлено), и, если возможно, имеет два состояния для обработки dev и production
    • Настройка сертификатов SSL для каждого приложения
  2. Какой из продуктов AWS лучше подходит в этом случае на основе:
    • Я хочу решить, какой хостинг git использовать (в основном я буду использовать Upsource, если не Bitbucket, последний вариант Github, причина ценообразования)
    • Если возможно, мне нужен графический интерфейс для процесса
    • Мне нравится иметь три экземпляра EC2 (node.js, php / python, java) и базу данных RDS

ПРИМЕЧАНИЕ. Я не хочу создавать сервер для каждого приложения, я хочу разместить много приложений на одном сервере.

Для этого можно использовать AWS OpsWorks. Вы можете просто настроить веб-перехватчик, например, в github, и передать его скрипту, который запускает событие развертывания OpsWorks через интерфейс командной строки AWS.