2015-12-31 3 views
0

На производстве, у нас есть веб-инфраструктуру, как это следующим образом:Комплексная система и Vagrant

  1. Load Balancer (HAProxy)
  2. API сервера (PHP + Apache)
  3. Frontend Сервер (JavaScript + Nginx)
  4. MySql сервера
  5. Redis сервер

Я хотел бы, чтобы начать используя Vagrant, чтобы сделать производственные среды такими же, как и разработки, а также упростить работу нового разработчика, чтобы он мог выполнять свою работу.

Большой вопрос: как мне построить коробку? Должен ли я положить все в одну коробку или мне нужно построить больше ящиков? И сколько?

ответ

0

Это зависит от договоренности, достигнутой вами с разработчиками. Задайте себе один вопрос: в какой структуре вы хотите работать: распределенной или централизованной.

Если ответ «распределен», вы можете сделать одну коробку на один проект. Вы не будете испортить, когда вы заработаете какой-либо проект, который получил последние модификации несколько лет назад. Но этот метод использует много памяти и пространства для хранения, и иногда это не имеет смысла, если большая часть ваших проектов основана на одной и той же производственной среде.

Если ответ «централизован», это означает, что для каждого проекта, построенного на одной и той же среде, достаточно одного окна. Это экономит много времени, но также легко сбить с толку, когда вы ищете старый проект. Вы можете настроить контейнер Docker для каждого проекта в своей коробке Vagrant.

Дополнительно я хотел бы предложить вам использование Packer для строительства ящиков. Это определенно ясный инструмент для этой цели, он может сделать «готовым к работе» коробку Vagrant для каждой среды виртуализации и выполнить сценарии оболочки/сценарии CMS. Просто поставьте в коробку все необходимое для производственной среды, позже разработчики могут добавить некоторые зависимости от пакета через предоставление Vagrant и поделиться им настройками Vagrantfile.

Смежные вопросы