Развертывание веб-приложения PHP на нескольких экземплярах EC2 за Elastic Load Balancer

мой вопрос состоит из двух вопросов, но, поскольку они тесно связаны, я подумал, что имеет смысл задать их en-bloque.

Дело:
] Я запускаю веб-приложение, которое распределено по нескольким экземплярам AWS EC2 за AWS Elastic Load Balancer

Предполагаемые цели:
a) При развертывании нового кода приложения (php) он должен автоматически распространяться на все экземпляры EC2.
б) Когда добавляются новые экземпляры EC2, они должны автоматически "загружаться" с последним кодом приложения

Мои мысли:
ad a)
phing (http://phing.info), вероятно, ответ на этот вопрос. Я бы, вероятно, добавил несколько целей для каждого экземпляра EC2, и при запуске развертывания он будет развернут на всех машинах. возможно, к сожалению, не параллельно. но это может быть даже полезно при написании сценария таким образом, чтобы экземпляр EC2 был «приостановлен» в балансировщике нагрузки, обновлен, снова «приостановлен» и перешел к следующему экземпляру.

и b)
не уверен, как мне этого добиться. при обычной «аппаратной настройке» у меня, вероятно, был том «кода приложения» на сетевом запоминающем устройстве, и при добавлении нового сервера я просто присоединял этот том. при развертывании нового кода приложения у меня была всего одна операция развертывания на этом томе. поэтому мне нужно какое-то «центральное хранилище», откуда только что загруженная машина / экземпляр загружает свой код приложения. Я думал о git, но, в конце концов, git не является средством развертывания и, вероятно, не следует заставлять его использовать как один.

Я был бы рад увидеть ваши настройки для таких задач и услышать ваши намеки и идеи для такой ситуации.

Спасибо,

Джошуа

9
задан Joshua 15 February 2011 в 12:21
поделиться