SlideShare a Scribd company logo
Multi-Provider Vagrant
AWS, VMware, and more!
I’m Mitchell Hashimoto
Also known as @mitchellh
I make Vagrant
http://vagrantup.com
I build tools
http://hashicorp.com
http://vagrantup.com
A tool for creating,
managing, and distributing
portable development
environments.
$ vagrant box add base 
http://files.vagrantup.com/precise32.box
...
$ vagrant up
...
$ vagrant ssh
vagrant@precise64:~$ echo hello
hello
Zero to VM in Seconds
Iterative cookbook
development .
Dev, Test, Prod. All the
same cookbooks on the
same OS.
Create and Manage Virtualized Development Environments
Mitchell Hashimoto
Vagrant
Up and Running
http://hashi.co/vagrant-book
A brief
history of Vagrant...
2010: Vagrant 0.1
Vagrant 0.1 It worked, it
was okay, but it was pretty
bare.
- VirtualBox: create/destroy
- Provision with Chef solo
- Only worked on Mac OS X
and with Ubuntu VMs.
2012: Vagrant 1.0
Vagrant 1.0.
Solid. Does its job well.
Dependable. Stable.
VirtualBox only, but supports
Chef, Puppet, and shell
scripts. Guest VMs can be
any Linux.
2013: Vagrant 1.1+
Vagrant 1.1+: The Future
Works with any provider,
not just VirtualBox. Works
_really_ well on Windows.
Will work well with any
guest, not just Linux.
And... lots more TBA.
Multi-Provider
What does it mean? Why?
A provider manages
compute resources* for
Vagrant machines.
* But also sets up networking and some basic storage too.
Vagrant 1.0: VirtualBox
was the only “provider”
Vagrant 1.1+: VirtualBox,
VMware, AWS, RackSpace,
LXC, your toaster.
Why?
People actually ask me this once in awhile.
Politely: VirtualBox isn’t
great for every situation.
Honestly: VirtualBox sucks*.
* Its okay, until you realize almost anything else is way better.
But really, multiple
providers enable Vagrant
to do new and awesome
things.
People love Vagrant for
the workflow. Not for
VirtualBox.
Other providers let you
have that workflow in an
environment that works
best for you.
New use cases...
Vagrant where Vagrant has never gone before.
Continuous Integration
AWS, LXC, etc. Fantastic.
Develop locally.
Test remotely.
Work in VirtualBox. Test in AWS (more prod-like).
Deploys
“vagrant up” an app for staging/production.
Corporate Environments
Maximize that VMware investment.
Vagrant in Vagrant
VMware outside. LXC inside. Etcetera.
Keep Dreamin’
This is all just the beginning.
Multi-Provider
How do I use it?
vagrant up --provider=foo
Where foo is “vmware_fusion”, “aws”, etc.
Same Vagrantfile,
multiple providers.
Pretty magical once you see it.
Vagrant.configure(“2”) do |config|
config.vm.box = “precise64”
end
A Vagrantfile
$ vagrant box add precise64 
http://files.vagrantup.com/precise64.box
...
$ vagrant box add precise64 
http://files.vagrantup.com/precise64_vmware_fusion.box
...
Some Boxes
$ vagrant up --provider=virtualbox
...
OR
$ vagrant up --provider=vmware_fusion
...
Up in VirtualBox or VMware
It’s that easy.
Seriously. There isn’t a catch.
Best effort.
Not every provider can satisfy every Vagrant
abstraction, but it won’t fail if it can’t.
Example: AWS networking doesn’t
map well to Vagrant networking.
Vagrant + AWS will just ignore
networking configurations. Not
error. It’ll make a “best effort” to
work.
Boxes
They’re now tied to providers.
Template for a machine.
Base image for VirtualBox,
AMI/metadata for AWS, etc.
$ vagrant box list
centos (virtualbox)
precise64 (aws)
precise64 (virtualbox)
precise64 (vmware_fusion)
Tied to a Provider
You need a box for
each provider.
This process is manual, for now.
VirtualBox: OVF export
VMware: VMX export
LXC: rootfs tarball
AWS: Metadata (AMI info)
What’s in a box?
It varies by provider. Actually,
anything can be in a box. The
provider is responsible for
reading and verifying
structure.
Provider-Specific Config
The full power of the provider, if you need it.
Abstractions are nice, but sometimes
you want to take advantage of specific
properties of a provider. For example,
AWS can do things VMware can’t, and
vice versa.
Provider-specific config lets you do that.
Vagrant.configure(“2”) do |config|
config.vm.box = “precise64”
config.vm.provider “virtualbox” do |v|
v.customize [“modifyvm”, :id, “--memory”, “2048”]
end
config.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “2048”
end
end
Example: Setting Memory
Vagrant.configure(“2”) do |config|
config.vm.box = “precise64”
config.vm.provider “virtualbox” do |v|
v.customize [“modifyvm”, :id, “--memory”, “2048”]
end
config.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “2048”
end
end
Example: Setting Memory
Vagrant.configure(“2”) do |config|
config.vm.box = “precise64”
config.vm.provider “virtualbox” do |v|
v.customize [“modifyvm”, :id, “--memory”, “2048”]
end
config.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “2048”
end
end
Example: Setting Memory
Portable
Even if the user doesn’t have that provider
installed, the Vagrantfile will still work.
Clear Purpose
It makes it clear that that configuration applies
ONLY to specific providers.
Power
A place to expose full capabilities
of underlying providers.
Totally Optional
Just use a normal Vagrantfile if you don’t care.
This is for power users.
That’s it.
Same powerful workflow, clean abstractions,
uncompromised flexibility.
Multi-Provider
How do I get more providers?
VirtualBox only by default.
Others must come from plugins. For now.
vagrant plugin install <foo>
Providers come from plugins.
vagrant-aws
vagrant-lxc
vagrant-vmware-fusion *
* Requires paid license from HashiCorp.
Eventually first-class.
Vagrant will ship with first class support, eventually.
They’re currently plugins to
allow bleeding edge providers
to mature.
At some point, Vagrant will
ship with built-in support for
various providers.
Google “x vagrant provider”
No single list yet, more providers all the time.
The best way to find providers
at the moment is Google. Don’t
underestimate how easy this
is.
No list because it changes to
quickly. Judge the quality
based on GitHub pulse.
http://www.vagrantup.com/vmware
Same Vagrant, but powered
by VMware technology.
Imagine VirtualBox, then
imagine everything better.
Faster, battery-life friendly,
more stable.
No kernel panics. Ever. Ever.
$79 per user
It’s how I make my living. <3 Vagrant.
* In addition to VMware licensing cost.
VMware Fusion
Happy Mac users.
Used by thousands of
companies. Stable. Very very
happy users.
Not a single refund since
launch. Incredible feedback.
VMware Workstation
Linux and Windows.
Launched TODAY. Available
TODAY (when talk was given).
Same price, low compared to
Workstation. Can run the same
VMs as the Fusion provider.
vagrantup.com/vmware
Help me keep working on this full time.
Launched TODAY. Available
TODAY (when talk was given).
Same price, low compared to
Workstation. Can run the same
VMs as the Fusion provider.
CHEFCONF: 25% off.
vagrantup.com/vmware
* Only good until Tuesday, April 30, 2013
Thank you.
http://vagrantup.com
http://hashicorp.com
by
http://vagrantup.com/vmware

More Related Content

ODP
It Works On My Machine: Vagrant for Software Development
PDF
Vagrant for real (codemotion rome 2016)
PPTX
Vagrant to-aws-flow
PPTX
How To Set a Vagrant Development System
PDF
Vagrant presentation
PDF
Introduction to Vagrant
KEY
PDF
Vagrant for real codemotion (moar tips! ;-))
It Works On My Machine: Vagrant for Software Development
Vagrant for real (codemotion rome 2016)
Vagrant to-aws-flow
How To Set a Vagrant Development System
Vagrant presentation
Introduction to Vagrant
Vagrant for real codemotion (moar tips! ;-))

What's hot (20)

PDF
Vagrant for Virtualized Development
PDF
Vagrant For DevOps
PDF
EC2 AMI Factory with Chef, Berkshelf, and Packer
PDF
Create your very own Development Environment with Vagrant and Packer
PDF
Using Docker with Puppet - PuppetConf 2014
PDF
Intro to vagrant
PDF
GlassFish Embedded API
PDF
Instruction: dev environment
PDF
Automated Infrastructure and Application Management
PDF
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
PDF
Ansible - A 'crowd' introduction
PDF
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
PDF
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
ODP
Building (localized) Vagrant boxes with Packer
PDF
Docker puppetcamp london 2013
PDF
Preparation study of_docker - (MOSG)
PPTX
Vagrant introduction for Developers
PPTX
Vagrant
PDF
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
PDF
Automated Deployment with Capistrano
Vagrant for Virtualized Development
Vagrant For DevOps
EC2 AMI Factory with Chef, Berkshelf, and Packer
Create your very own Development Environment with Vagrant and Packer
Using Docker with Puppet - PuppetConf 2014
Intro to vagrant
GlassFish Embedded API
Instruction: dev environment
Automated Infrastructure and Application Management
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Ansible - A 'crowd' introduction
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Building (localized) Vagrant boxes with Packer
Docker puppetcamp london 2013
Preparation study of_docker - (MOSG)
Vagrant introduction for Developers
Vagrant
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Automated Deployment with Capistrano
Ad

Similar to Multi-provider Vagrant and Chef: AWS, VMware, and more (20)

PDF
Vagrant for local and team WordPress Development
PPTX
Vagrant-Overview
PPTX
Node.js, Vagrant, Chef, and Mathoid @ Benetech
PDF
Puppet and Vagrant in development
PPTX
PPTX
Vagrant Up in 5 Easy Steps
PDF
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
PPTX
DevOps Hackathon - Session 1: Vagrant
PDF
Quick & Easy Dev Environments with Vagrant
PDF
Vagrant - Version control your dev environment
PDF
Create Development and Production Environments with Vagrant
PDF
Vagrant for Development
PDF
The future of the php development environment
PPTX
Getting Started with Vagrant
PDF
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
PDF
Take Home Your Very Own Free Vagrant CFML Dev Environment
PDF
Open stack and_vagrant-os-meetup-2015
PDF
Security Testing Using Infrastructure-As-Code
PDF
Local development environment through virtualisation
PDF
Cooking Perl with Chef: Hello World Tutorial
Vagrant for local and team WordPress Development
Vagrant-Overview
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Puppet and Vagrant in development
Vagrant Up in 5 Easy Steps
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Hackathon - Session 1: Vagrant
Quick & Easy Dev Environments with Vagrant
Vagrant - Version control your dev environment
Create Development and Production Environments with Vagrant
Vagrant for Development
The future of the php development environment
Getting Started with Vagrant
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take Home Your Very Own Free Vagrant CFML Dev Environment
Open stack and_vagrant-os-meetup-2015
Security Testing Using Infrastructure-As-Code
Local development environment through virtualisation
Cooking Perl with Chef: Hello World Tutorial
Ad

More from Chef Software, Inc. (20)

PDF
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
PDF
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
PDF
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
PDF
Chef Fundamentals Training Series Module 2: Workstation Setup
PDF
Chef Fundamentals Training Series Module 1: Overview of Chef
PPTX
Opscode Webinar: Managing Your VMware Infrastructure with Chef
PPTX
Opscode Webinar: Cooking with Chef on Microsoft Windows
PDF
Opscode tech festa july 2013
PPTX
Opscode Webinar: Automation for Education May 08-2013
PDF
Utility HPC: Right Systems, Right Scale, Right Science
PDF
The Berkshelf Way
PDF
Using Kanban and Chef: A Case Study – Jeffrey Hulten
PDF
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
PDF
ChefConf 2013 Keynote Session – Opscode – Adam Jacob
PDF
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...
PDF
The InstallShield of the 21st Century – Theo Schlossnagle
PDF
Chef ignited a DevOps revolution – BK Box
PDF
The unintended benefits of Chef
PDF
Push jobs: an orchestration building block for private Chef
PDF
Welcome to the IT Industrial Revolution! Are you ready?
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 1: Overview of Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Cooking with Chef on Microsoft Windows
Opscode tech festa july 2013
Opscode Webinar: Automation for Education May 08-2013
Utility HPC: Right Systems, Right Scale, Right Science
The Berkshelf Way
Using Kanban and Chef: A Case Study – Jeffrey Hulten
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
ChefConf 2013 Keynote Session – Opscode – Adam Jacob
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...
The InstallShield of the 21st Century – Theo Schlossnagle
Chef ignited a DevOps revolution – BK Box
The unintended benefits of Chef
Push jobs: an orchestration building block for private Chef
Welcome to the IT Industrial Revolution! Are you ready?

Recently uploaded (20)

PDF
Dell Pro 14 Plus: Be better prepared for what’s coming
PDF
Google’s NotebookLM Unveils Video Overviews
PDF
This slide provides an overview Technology
PDF
Why Endpoint Security Is Critical in a Remote Work Era?
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
PDF
Smarter Business Operations Powered by IoT Remote Monitoring
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
PDF
Reimagining Insurance: Connected Data for Confident Decisions.pdf
PPTX
How Much Does It Cost to Build a Train Ticket App like Trenitalia in Italy.pptx
PDF
Software Development Methodologies in 2025
PDF
creating-agentic-ai-solutions-leveraging-aws.pdf
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
PDF
Test Bank, Solutions for Java How to Program, An Objects-Natural Approach, 12...
PDF
agentic-ai-and-the-future-of-autonomous-systems.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
Dell Pro 14 Plus: Be better prepared for what’s coming
Google’s NotebookLM Unveils Video Overviews
This slide provides an overview Technology
Why Endpoint Security Is Critical in a Remote Work Era?
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
NewMind AI Weekly Chronicles - July'25 - Week IV
Smarter Business Operations Powered by IoT Remote Monitoring
Chapter 2 Digital Image Fundamentals.pdf
madgavkar20181017ppt McKinsey Presentation.pdf
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
Reimagining Insurance: Connected Data for Confident Decisions.pdf
How Much Does It Cost to Build a Train Ticket App like Trenitalia in Italy.pptx
Software Development Methodologies in 2025
creating-agentic-ai-solutions-leveraging-aws.pdf
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
Test Bank, Solutions for Java How to Program, An Objects-Natural Approach, 12...
agentic-ai-and-the-future-of-autonomous-systems.pdf
Understanding_Digital_Forensics_Presentation.pptx

Multi-provider Vagrant and Chef: AWS, VMware, and more