У меня на производстве есть среда с автоматическим масштабированием, которая в настоящее время вызывает хаос, когда мы обновляем сборку на ней, поэтому мы подумали, что лучше перейти к разработке в AWS, чтобы упростить процесс для нас. Мы не можем позволить себе простоя, ни сейчас, ни когда-либо, никогда; вторая потеря стоимости при обновлении сборки и, возможно, перезапуске apache стоит целое состояние.
Мы не можем позволить себе просто позволить нашей машине быть остановленной политикой автомасштабирования, когда приходит новое обновление с новой машиной ec2 на базе AMI, на самом деле, когда автомасштабирование завершает работу машины при любых обстоятельствах, ему все равно на ваши текущие запросы на этой машине. , он просто выключает его, в то время как он должен скорее изящно завершить работу, чем-то вроде дренажной остановки на apache, чтобы он мог сначала хотя бы закончить работу.
теперь, когда есть opsworks, и мы планируем использовать его для более автоматического обновления наших сборок, будет ли новое обновление запускать рецепты снова, на самом деле этот абзац, который я только что прочитал, беспокоит меня больше, значит ли это, что он не будет автоматически обновлять сборку на новых экземплярах.
После того, как вы изменили настройки приложения, вы должны развернуть приложение. При первом развертывании приложения рецепты развертывания загружают код и связанные файлы на экземпляры сервера приложений, которые затем запускают локальную копию. Если вы изменяете приложение в репозитории, вы должны убедиться, что обновленный код и связанные файлы установлены на ваших экземплярах сервера приложений. AWS OpsWorks автоматически развертывает текущую версию приложения на новых экземплярах при их запуске. Однако для существующих экземпляров ситуация иная:
Вы должны вручную развернуть обновленное приложение в онлайн-экземплярах.
Вам не нужно развертывать обновленное приложение в автономных экземплярах с резервным хранилищем, включая экземпляры на основе нагрузки и на основе времени; AWS OpsWorks автоматически развертывает последнюю версию приложения при перезапуске.
Вы должны перезапустить автономные инстансы с поддержкой EBS, работающие круглосуточно и без выходных, и вручную развернуть приложение; AWS OpsWorks не запускает рецепты развертывания на этих инстансах при их перезапуске.
Вы не можете перезапустить автономные инстансы с поддержкой EBS, основанные на нагрузке и времени, поэтому самый простой подход — удалить автономные инстансы и добавить новые инстансы для их замены.
Поскольку теперь это новые экземпляры, AWS OpsWorks автоматически развернет текущую версию приложения при их запуске.