Devops and You
or "A Brief Introduction to Vagrant"
What is Devops?
-
Developer
- That's you!
-
Operations
- Other IT staff
- Working together
- communication
- collaboration
- integration
- automation
- cooperation
But it works on my machine!
Why should you care?
- Expectation vs Actual
- (Human) Mistakes
- Time to deployment
- Monitor
What is Vagrant?
"Create and configure lightweight, reproducible, and portable development environments."
Installation
- Virtual Machine Provider
- VirtualBox
- VMWare Fusion: pro version
-
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)
-
Vagrant
- Lauri Pesonen
Resources
- This presentation
- Vagrant Documentation
- Rove - Tool for creating a typical Rails Vagrantfile
- Railscast #292 - Dated
Try it for yourself
Devops and You
By Andrew Tomaka
Devops and You
or "A Brief Introduction to Vagrant"
- 812