Привет
Преследую 2 цели, изучить новые интересные технологии и организовать команду разработчиков.
Что имею: выделенный сервер и root доступ. Что хочу получить develov машину и 3 ноды для разработчико
Ты бы описал что там разработчики разрабатывают =) (сайты/софт/картинки)?
Для разработки, ИМХО, нужно неизменное окружение разработчика + репозиторий, где храняться результаты работы. А так же отдельно должно быть тестовое окружение.
Я обычно делаю окружение разработчика (то к чему нужно подключить IDE):
- Если это динамический язык, то можно разрезать на докер-контейнеры: интерпретатор языка; сервера, необходимые для работы в своих контейнерах.
- Если это компилируемый язык, то стараюсь держать всё как можно ближе и на одном контейнере. Дело в том, что держать mysql-dev пакет в одном контенере, а в другом mysql-server - глупо. С другой стороны, если есть некие сервисы, которые собираются с своими ключами, то их в отдельный контейнер(а лучше пакет).
Вообще не важно будет ли у вас 10 контейнеров, или 1. Важно что в внутри. Например у вас есть django 1.4.18 и вы продолжаете разработку на 1.6.х. Что произойдет? Или у вас есть сайт, который писали во времена php 5.2.1, а в dev-окружении 5.2.26, что будет?
По моему мнению у вас должно быть налажено чёткое соответствие окружения разработчика и продакшн. Автотесты на том же jenkins. А если вы меняете версию окружения разработчика - версия продукта так же меняется.
ЗЫ:
Всё это можно делать на docker/lxc/chroot/bare metal/etc — кои инструменты лишь. Мне кажется вы целей своих не понимаете.