Вони обидва вирішують одну проблему? Або вони для двох різних наборів проблем? Якщо так, для чого я краще використовувати бродягу, а для чого краще використовувати джуджу?
Вони обидва вирішують одну проблему? Або вони для двох різних наборів проблем? Якщо так, для чого я краще використовувати бродягу, а для чого краще використовувати джуджу?
Відповіді:
швидка версія:
vagrant - це інструмент для роботи з екземплярами virtualbox. Зазвичай він використовується під час розробки (на mac) для тестування та розгортання програми у віртуальних машинах, які більше нагадують ваше можливе виробниче (тобто, Linux) середовище. У ньому є налаштований (рубіновий) стек обробників, щоб створити таке віртуальне середовище будь-яким способом. Vagrant є потужним інструментом для програмного управління віртуальними середовищами та забезпечує всілякі "локальні" варіації методів розвитку безперервної інтеграції. Він найчастіше використовується для запуску віртуальних машин Ubuntu на Mac, але буде працювати на різних платформах та розгортати різні цільові операційні системи. Afaik, він працює лише з virtualbox як основний "провайдер".
juju - це інструмент для упорядкування сервісів, використовуючи різні основні провайдери: ec2 хмари, opentack хмари, lxc VM та сервери MaaS. Він поділяє історію "локального розвитку" (використання контейнерів lxc замість віртуальних віртуальних машин) з бродячими, але це дійсно єдине перекриття. Насправді, я хотів би бачити бродячого постачальника, написаного на juju, щоб juju міг керувати контейнерами virtualbox в локальному середовищі з такою ж легкістю, що він керує зображеннями хмар та lxc. Це було б чудово! Крім того, жужу дійсно отримує багато своєї цінності з набору чарів / послуг, які можна запускати прямо поза коробкою, тоді як бродяг - це по суті місцевий постачальник контейнерів нижчого рівня.
Насправді ми надаємо коробку Vagrant з Juju, щоб користувачі могли протестувати місцевого постачальника зсередини VM:
Зверніть увагу , що вже були спроби «об'єднати» сценарії розгортання навколо бродяги так , що одні і ті ж сценарії можна використовувати для розгортання в випадки хмари, а також бродячі коробки. Вони, як видається, в основному одноразові, окрім бродячих, і, відверто кажучи, просто підкреслюють потребу в такому інструменті, як джуджу.
Повторно "об'єднуючи сценарії розгортання навколо бродячого", Vagrant має чудову інтеграцію з Puppet та Chef, які можуть бути використані для автоматизації конфігурації системи в різних середовищах, від коробки Vagrant до місцевого обладнання до хмар. Насправді багато людей використовують Vagrant для тестування своїх сценаріїв ляльок / шеф-кухарів, перш ніж використовувати їх у виробництві.
Звичайно, було б непогано додати Juju до списку засобів автоматизації, які працюють з Vagrant.