Они оба решают одну и ту же проблему? Или они для двух разных наборов проблем? Если так, то для чего лучше использовать бродягу, а для чего лучше использовать жужу?
источник
Они оба решают одну и ту же проблему? Или они для двух разных наборов проблем? Если так, то для чего лучше использовать бродягу, а для чего лучше использовать жужу?
быстрая версия:
vagrant - это инструмент для работы с экземплярами virtualbox. Обычно это используется во время разработки (на Mac) для тестирования-развертывания вашего приложения на виртуальных машинах, которые больше похожи на конечную производственную среду (например, Linux). У него есть настраиваемый (ruby) стек обработчиков для создания такой виртуальной среды любым способом, какой вы захотите. Vagrant является мощным инструментом для программного управления виртуальными средами и предоставляет всевозможные «локальные» варианты методов разработки в стиле непрерывной интеграции. Чаще всего он используется для запуска виртуальных машин Ubuntu на Mac, но будет работать на разных платформах и развертывать различные целевые операционные системы. Afaik, он работает только с virtualbox в качестве основного «провайдера».
juju - это инструмент для организации сервисов с использованием различных базовых провайдеров: облака ec2, облака openstack, виртуальные машины lxc и серверы MaaS. Он делится историей «локальной разработки» (с использованием контейнеров lxc вместо виртуальных машин Virtualbox) с vagrant, но это действительно единственное совпадение. На самом деле, я хотел бы видеть бродячего провайдера, написанного для juju, чтобы juju мог управлять контейнерами виртуальных ящиков в локальной среде с той же легкостью, что и облачные и lxc-образы. Это было бы отлично подходит! Кроме того, juju действительно получает большую часть своей ценности от набора прелестей / сервисов, которые могут быть запущены прямо из коробки, тогда как vagrant, по сути, является локальным поставщиком контейнеров более низкого уровня.
На самом деле мы предоставляем модуль Vagrant с Juju, чтобы пользователи могли тестировать локального провайдера из виртуальной машины:
Обратите внимание , что уже предпринимались попытки «объединить» сценарии развертывания вокруг бродяги так , что одни и те же сценарии можно использовать для развертывания в случаи облака, а также бродячие коробки. Похоже, что они в основном одноразовые, кроме самого бродяги, и, честно говоря, просто подчеркивают необходимость такого инструмента, как джуджу.
«Объединяя сценарии развертывания вокруг vagrant», Vagrant имеет отличную интеграцию с Puppet и Chef, которые можно использовать для автоматизации конфигурации системы в различных средах, от коробок Vagrant до локального оборудования и облаков. Фактически многие люди используют Vagrant для тестирования своих сценариев Puppet / Chef перед их использованием в производстве.
Конечно, было бы неплохо добавить Juju в список средств автоматизации, которые работают с Vagrant.