Как стать автором
Обновить

Комментарии 31

Разве heat, juju и остальные не делают то же самое?
Я посмотрел на juju и heat — это скорее такая смесь шефа и вагранта. И они, скорее, для продакшен использования, в то время как вагрант больше предназначен для разработки/тестирования (и этому сильно помогает поддержка virtualbox, который запускается на всех системах).
Спасибо за статью, как раз начал изучение вопроса. Если по статье, то, наверное, стоит добавить ссылку на rove.io
Иван, всё это очень интересно, но ощущение, что статьь незакончена. Много вопросов остаётся. Например, возможно ли в этом окружении использовать не chef, а sprinkle или puppet например?
Кстати да, хотелось бы услышать, в чем основные различия chef, puppet и sprinkle (и может быть, чего-то еще, чего я не знаю). Где и когда применять каждый из этих инструментов? Если есть Vagrant, то зачем нам Docker?

Был бы рад прочесть развернутые ответы в комментах, а лучше, в новых постах.
У нас есть только опыт использования chef, зато многолетний. Другие системы «в среднем» ничем не отличаются, так что это больше дело вкуса.

Про Docker мы расскажем подробнее попозже.
Если есть Vagrant, то зачем нам Docker?

Docker представляет менее абстрактный и более производительный слой.
Вот здесь описывают неясный момент docker-the-missing-tutorial
Там же в статье есть список всех систем управления конфигурацией, там и chef, puppet, salt, ansible и другие. docs.vagrantup.com/v2/provisioning/index.html
Расскажите на DevOPS meetup-е о полезных практиках использования данных плагинов? Особенно интересны примеры использования Sahara.

Добавлю, пожалуй пару слов.
Я использую chef-zero (https://github.com/andrewgross/vagrant-chef-zero) вместо chef-solo, что дает мне почти полноценный chef-server, хранящий все в памяти, со всеми вытекающими:
— схожесть с production env, где мы также используем chef-server;
— большая гибкость в тестировании;
— высокая скорость переустановки chef-zero в случае необходимости

Также я использовал с вагрантом плагин для berkshelf (https://github.com/berkshelf/vagrant-berkshelf), но ввиду медленной скорости загрузки кукбуков и некоторых ограничений при тестировании, перешел на загрузку кукбуков с локальной файловой системы в chef-zero в обход berkshelf-а.
Да, надо было добавить про chef-zero, вылетел из головы. Спасибо, что напомнили.
О, привет, Акжан :-)
Спасибо за статью, давно хотел попробовать Vagrant с Ansible и lxc/kvm. После знакомства с Docker будет интересно посмотреть на плагин Sahara. Хочу заметить, что статья действительно выглядит слегка незаконченной. Могли бы побольше описать свои сложные юз-кейсы, раз уж заявлены «другие истории из жизни бродяг».
Я могу ответить на вопросы здесь, если они возникнут.
что понимается под средой разработки? Могу ли я с использованием vagrant получить окружение с уже установленным набором девелоперских пакетов для сборки проекта? Могу ли я прозрачно использовать IDE которую я захочу с развернутым окружением, и не будет ли это тормозить из за remote desktop? и из за того что это виртуалка?
Да, все это можно сделать с помощью вагранта. Как быстро это будет работать — зависит от вашей машины и вашего проекта. Есть люди, которые уже разрабатывают в среде, созданной вагрантом.
core i7, 8gb RAM время сборки буста увелилилось в раз X, вместо 10 минут наверно часа полтора собиралось. Я так и не понял в чем был косяк.

А еще установка чего угодно из реп занимала минут 15 (и дело было не только в торможении сети)

host: ubuntu 13.04
vagrant: redhat (версию не помню).
На самом деле очень интересная тема. Я сейчас как раз пытаюсь надоумить кастомера внедрить что-нибудь подобное дабы сделать их legacy систему более тестируемой. Не подскажете, поддерживает ли он windows оси и требуются какие-либо дополнительные затраты на покупку лицензий?
Лицензия требуется только если вы используете VmWare и его плагин к вагранту, больше ничего не лицензируется. Сам вагрант на винде прекрасно работает, есть даже msi инсталяшка. Если хотите запускать windows в качестве гостевой системы, то этот проект github.com/WinRb/vagrant-windows вам пригодится.
Отлично! Жаль, что по гостевым системам нет поддержки XP и 2003.
Я, кстати, не уверен, что нет, но мы виндовсом не занимаемся, поэтому сложно сказать наверняка.
НЛО прилетело и опубликовало эту надпись здесь
> Berkshelf это не аналог либрариана

Не совсем понимаю ваше утверждение. Возьмите Cheffile и Berksfile и «найдите десять отличий». С точностью до хранения кукбуков и названия команда — они делают одно и то же.

Да, vagrant-buthcer стоило упомянуть, согласен.

Насчет пакера — это также спорный вопрос, я бы не был так категоричен.

~/.vagrant.d/Vagrantfile этим файлом в нашей команде никто не пользовался. Может быть потому, что то, чего нет в системе контроля версий — для команды не существует.
НЛО прилетело и опубликовало эту надпись здесь
Смысл этих двух инструментов в управлении зависимости кукбуков и повторяемости у разных людей, так что по сути это аналоги. Но отличия безусловно есть. Мы не используем berks потому, что у нас несколько другой подход, мы для разных окружений используем разные chef серверы.
osminog ниже верно ответил, для нас этой разницы практически не существует, мы лочим энвайрменты с помощью разных шеф-серверов для разных окружений.
Иван, расскажи про скорость работы с вагрантом при вашем подходе и плагинах. Какая стадия сколько по времени занимает (vagrant up, provision, etc.).
Можно на примере создания/редактирования любого кукбука.
С чистой машинки начинал (после vagrant destroy) на текущем проекте у одного из наших клиентов

$ time vagrant up --no-provision
Bringing machine 'virool' up with 'virtualbox' provider...
vagrant up --no-provision  6,89s user 4,09s system 26% cpu 41,142 total


А потом провижн

$ time vagrant provision
[skip]
vagrant provision  4,24s user 1,81s system 2% cpu 4:06,95 total


Понятно, что в следующие разы быстрее :-)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий