Presented at Australasian Open Source Developers Conference 2013, Auckland, New Zealand : A wrapper around VirtualBox and configuration management beauties such as Puppet and Chef, Vagrant is a great piece of open source software to create and configure your ideal development environments, virtually. This talk will try to discuss how a developer, administrator(operator) or both, can take advantage from Vagrant and how it helps in modern days multienvironments server provisioning and of course, to demolish the standard “works on my machine” pretext
3. Who Am I
Errazudin Ishak
Any-Stack-Dev-Ops
Solutions Architect
Sakura Sky Media since 2012
@errazudin
about.me/errazudin
4. I Was Here
2009
foss.my, MyGOSSCON
2010
Ent. PHP Techtalk, BarcampKL, PHP Malaysia,
MOSC.my, PHP Northwest UK, MyGOSSCON
2011
Wordpress Conf. Asia, Joomla! Day KL, MOSC.my,
OWASP Day KL
14. "Developers are like vampires. They're frequently
up all night, paler than death itself, and generally
afraid of being exposed to daylight. Oh yes, and
they tend think of themselves (or at least their
code) as immortal." - www.codinghorror.com
15. “System Administrators are like werewolves. They may
look outwardly ordinary, but are incredibly strong,
mostly invulnerable to stuff that would kill regular
people -- and prone to strange transformations during
a moon "outage". - www.codinghorror.com
16. For what reason
super duper working container
easy to configure, reproducible
portable work environments
20. 1: Get it all warmup
Install virtualbox
https://www.virtualbox.org/wiki/Downloads
Install vagrant
http://docs.vagrantup.com/v2/installation/index.html
22. *3: Hack Your Vagrantfile
Port forwarding, Networking, Fine tune
resources, Provisioning ..
*optional, extra fun guaranteed
23. 4: Dive in
Up and away
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
SSH
$ vagrant ssh
28. Teamwork
devs
isolate dependencies and their configuration within
a single disposable, consistent environment,
without sacrificing any of the tools
ops
disposable environment and consistent workflow
for developing and testing infrastructure
management scripts
dsgnr
automatically setup everything required for that
web app