Vagrant for Devops
or "A Brief Introduction to Vagrant (again)"
The Old Days
- Research and order hardware
- Hardware is shipped and received
- Hardware is installed
- Operating system and software are installed
Weeks later
- Server completed
Let's Handcraft a Server
Things are better today
- Virtualization
- "The Cloud"
- Containers
- Other magic buzzwords
But how can we take advantage
By taking advantage of these technologies through the entire development process.
Installation
- Virtual Machine Provider
-
Many Other Providers
- Digital Ocean: plugin
- Linux Containers: plugin
- AWS, Rackspace, vCenter, etc
- Vagrant
The Vagrantfile
Vagrant.configure(2) do |config|
# Installs the operating system
config.vm.box = 'ubuntu/trusty64'
# Configures the virtual machine
config.vm.network 'private_network', ip: '192.168.111.10'
config.vm.synced_folder 'code/', '/home/vagrant/app'
# Provisions the system
config.vm.provision 'shell', path: 'provision/bootstrap.sh'
end
Usage
- Primary commands
- vagrant up
- vagrant ssh
- vagrant destroy
- Others
- vagrant provision
- vagrant halt
- vagrant suspend
- vagrant resume
- vagrant push
Demonstration
Other Talks
-
Understanding Vagrant and Chef
- Bryan Ollendyke
-
Automated Development Environments w/Vagrant
- Mitchell Hashimoto (creator of Vagrant)
-
Continuous Delivery of Puppet-Based Infrastructure
- Sam Kottler
Resources
- This presentation
- Vagrant Documentation
- Puppet Documentation
Try it for yourself
Vagrant for Devops
By Andrew Tomaka
Vagrant for Devops
or "A Brief Introduction to Vagrant (Again)"
- 828