Opsworks & Chef - настраивайте каждое приложение, развернутое по тем же рецептам

У меня есть набор рецептов, которые разворачивают приложения Python для экземпляров AWS, они хорошо работают. Я хочу развернуть два разных приложения с небольшими различиями, например, одному нужно установить асинхронный рабочий код, а другому - нет. Как мне это сделать?

Мои варианты как, я их вижу:

  1. Создайте два приложения в OpsWorks и установите переменные env для каждого из них, которые рецепты могут использовать, чтобы решить, следует ли выполнять определенные задачи. EnvVars
  2. Создайте файл (-ы) в репозитории, детализируя специфичные для приложения требования
  3. Добавьте пользовательский JSON-й в каждое развертывание. customJSON

Ни один из этих вариантов не кажется мне идеальным, я что-то упустил? имеет

1 ответ

Варианты 1 и 3 "эффективно" (я говорю это свободно) одинаковы. Вы в основном пропускаете различия через JSON. Лично я использовал и успешно создавал два разных Приложения в OpsWorks, но я также очень хотел, чтобы младший ресурс мог изменять некоторые элементы, но не имел доступа к паролям или другим чувствительным атрибутам. Прямой ответ, вариант 2 заставляет меня дергаться больше всего. Вариант 1/3 лучше, но зависит от ваших потребностей.

Другие вопросы по тегам