Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Vagrant + Veewee : Barcampboston April 10-2011
1. Furniture
Home Décor
Housewares
Home Improvement
Veewee + Vagrant
Clouds on the Desktop
Outdoor
Baby & Kids
Shoes, Bags & Luggage
Health & Fitness
Pet April 10, 2011
Office & School Supply
2. Who Am I?
Quick Overview
• Director of IT at CSN Stores
• Open Source advocate
I <3 FreeBSD + Lighttpd + PHP
• Dad
• Animal Lover
drowe@csnstores.com / @draco2002 1
3. Who is CSN Stores?
Quick Overview
• One of the Top 3 online U.S. retailer of home and office goods
• 700+ employees
• 200+ online stores like
– Strollers.com
– Cookware.com
– Luggage.com
– Mountsandmore.com
– Racksandstands.com
– Etc..
• Great place to work.
drowe@csnstores.com / @draco2002 2
4. The Problems
• DevOps is great, but not all Devs want to be Ops
• Building and maintaining separate Dev systems for all applications for all Devs
• Full stack running locally
• Reproducible systems to avoid “WFM”
• Freedom for the Devs to experiment in Ops
• Building initial images from iso
drowe@csnstores.com / @draco2002 3
5. How do you solve these problems?
Lots of different models / solutions
How does your team do it?
drowe@csnstores.com / @draco2002 4
6. A potential solution
Vagrant + Veewee
•Vagrant :
Tool for building and distributing virtualized development environments
•Veewee :
Tool for building base boxes for vagrant from scratch.
drowe@csnstores.com / @draco2002 5
7. What is Vagrant?
• Fully Automated virtual machine creation using VirtualBox
• Automated provisioning with Chef or Puppet for reproducible
environments
• Environments can be stored in Source control
drowe@csnstores.com / @draco2002 6
8. Low Barrier to Entry
To get your first box up and running all you need is :
$ gem install vagrant
$ vagrant box add base http://files.vagrantup.com/lucid32.box
$ vagrant init
$ vagrant up
drowe@csnstores.com / @draco2002 7
9. Complexity us up to you
The sky is the limit for what you build
Vagrant::Config.run do |config|
config.vm.define :web do |web_config|
web_config.vm.box = "web"
web_config.vm.forward_port("http", 80, 8080)
end
config.vm.define :db do |db_config|
db_config.vm.forward_port("db", 3306, 3306)
db_config.vm.box = "db"
end
end
drowe@csnstores.com / @draco2002 8
10. Resources
Main Vagrant site : http://vagrantup.com
Veewee repo : https://github.com/jedi4ever/veewee
drowe@csnstores.com / @draco2002 9
11. Home Work
Try it for your self when you get home.
Examples
Vagrant Railsapp :
https://github.com/drnic/railsapp-vagrant
Vagrant Drupal Install :
http://drupal.org/project/vagrant
drowe@csnstores.com / @draco2002 10