Vagrant
Virtualize your development environments
who am I?
fzerorubigd@gmail
WEB Developer
Bita's Dad
WHy??????
Think about something like .......
Multiple project
+
Multiple dependencies for each project
=
Oh :/ not good
Multiple project
+
Multiple dependencies for each project
+
One software with different version
=
Oh :/ Not good at all!!
An old project with a lot of dependencies
+
New developer with new machine :)
=
A lot of time and hard work for
creating another junk storage :))
Test environment
<>
Development environment
MORE REASON??
THE IDEA
git clone
cd myapp
magic command
run my app
Goals
Isolate development resources
Less time to setup
Reuse your env. on many machine
Same env. for any *nix base system
Keep development machine small and fast!
The solution
git clone
cd myapp
vagrant up
run my app
VAGRANT
A provider (Virtualbox, docker , VMWare)
+
Provision with Shell, Puppet, Chef, ...
WORKFLOW
vagrant init hashicorp/ubuntu
vagrant up #provision for first time
vagrant ssh
DO YOUR WORK
vagrant halt
vagrant destroy
VIRTUALBOX
Advantage :
Cross platform
Very simple to setup
Problems:
Resource hungry
VERY!! slow share (must use nfs!)
DOCKER
Advantage :
Very fast!
No extra resource!
Problems :
Very young (its here after vagrant 1.6)
Only on linux
BASEBOX
The vagrant list, just google it :)
packer
Another project to create base box for all types
packer.io
build it from scratch
Just install a linux on a virtualbox
or
build an image for docker :)
QUESTIONS???