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
Carlos Perez
 
PDF
Vagrant for real (codemotion rome 2016)
Michele Orselli
 
PPTX
Vagrant to-aws-flow
Kimberly Macias
 
PPTX
How To Set a Vagrant Development System
Paul Bearne
 
PDF
Vagrant presentation
Mahmudur Rahman
 
PDF
Introduction to Vagrant
Marcelo Pinheiro
 
KEY
Vagrant
Michael Peacock
 
PDF
Vagrant for real codemotion (moar tips! ;-))
Michele Orselli
 
It Works On My Machine: Vagrant for Software Development
Carlos Perez
 
Vagrant for real (codemotion rome 2016)
Michele Orselli
 
Vagrant to-aws-flow
Kimberly Macias
 
How To Set a Vagrant Development System
Paul Bearne
 
Vagrant presentation
Mahmudur Rahman
 
Introduction to Vagrant
Marcelo Pinheiro
 
Vagrant for real codemotion (moar tips! ;-))
Michele Orselli
 

What's hot (20)

PDF
Vagrant for Virtualized Development
Adam Culp
 
PDF
Vagrant For DevOps
Lalatendu Mohanty
 
PDF
EC2 AMI Factory with Chef, Berkshelf, and Packer
George Miranda
 
PDF
Create your very own Development Environment with Vagrant and Packer
frastel
 
PDF
Using Docker with Puppet - PuppetConf 2014
Puppet
 
PDF
Intro to vagrant
Mantas Klasavicius
 
PDF
GlassFish Embedded API
Eduardo Pelegri-Llopart
 
PDF
Instruction: dev environment
Soshi Nemoto
 
PDF
Automated Infrastructure and Application Management
Clark Everetts
 
PDF
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
 
PDF
Ansible - A 'crowd' introduction
Manuel de la Peña Peña
 
PDF
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
Puppet
 
PDF
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Hendrik Ebbers
 
ODP
Building (localized) Vagrant boxes with Packer
Cristovao G. Verstraeten
 
PDF
Docker puppetcamp london 2013
Tomas Doran
 
PDF
Preparation study of_docker - (MOSG)
Soshi Nemoto
 
PPTX
Vagrant introduction for Developers
Antons Kranga
 
PPTX
Vagrant
Akshay Siwal
 
PDF
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Puppet
 
PDF
Automated Deployment with Capistrano
Sumit Chhetri
 
Vagrant for Virtualized Development
Adam Culp
 
Vagrant For DevOps
Lalatendu Mohanty
 
EC2 AMI Factory with Chef, Berkshelf, and Packer
George Miranda
 
Create your very own Development Environment with Vagrant and Packer
frastel
 
Using Docker with Puppet - PuppetConf 2014
Puppet
 
Intro to vagrant
Mantas Klasavicius
 
GlassFish Embedded API
Eduardo Pelegri-Llopart
 
Instruction: dev environment
Soshi Nemoto
 
Automated Infrastructure and Application Management
Clark Everetts
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
 
Ansible - A 'crowd' introduction
Manuel de la Peña Peña
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
Puppet
 
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Hendrik Ebbers
 
Building (localized) Vagrant boxes with Packer
Cristovao G. Verstraeten
 
Docker puppetcamp london 2013
Tomas Doran
 
Preparation study of_docker - (MOSG)
Soshi Nemoto
 
Vagrant introduction for Developers
Antons Kranga
 
Vagrant
Akshay Siwal
 
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Puppet
 
Automated Deployment with Capistrano
Sumit Chhetri
 
Ad

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

PDF
Vagrant for local and team WordPress Development
Anthony Alvarez
 
PPTX
Vagrant-Overview
Crifkin
 
PPTX
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Christopher Bumgardner
 
PDF
Puppet and Vagrant in development
Adam Culp
 
PPTX
Vagrant
ProfessionalVMware
 
PPTX
Vagrant Up in 5 Easy Steps
Trevor Roberts Jr.
 
PDF
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
Anthony Alvarez
 
PPTX
DevOps Hackathon - Session 1: Vagrant
Antons Kranga
 
PDF
Quick & Easy Dev Environments with Vagrant
Joe Ferguson
 
PDF
Vagrant - Version control your dev environment
bocribbz
 
PDF
Create Development and Production Environments with Vagrant
Brian Hogan
 
PDF
Vagrant for Development
Jacky Chan
 
PDF
The future of the php development environment
Jeremy Quinton
 
PPTX
Getting Started with Vagrant
Micah Wood
 
PDF
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Gavin Pickin
 
PDF
Take Home Your Very Own Free Vagrant CFML Dev Environment
ColdFusionConference
 
PDF
Open stack and_vagrant-os-meetup-2015
yfauser
 
PDF
Security Testing Using Infrastructure-As-Code
Vision Concepts Infrastructure Services Solution
 
PDF
Local development environment through virtualisation
Radu Barbu
 
PDF
Cooking Perl with Chef: Hello World Tutorial
David Golden
 
Vagrant for local and team WordPress Development
Anthony Alvarez
 
Vagrant-Overview
Crifkin
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Christopher Bumgardner
 
Puppet and Vagrant in development
Adam Culp
 
Vagrant Up in 5 Easy Steps
Trevor Roberts Jr.
 
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
Anthony Alvarez
 
DevOps Hackathon - Session 1: Vagrant
Antons Kranga
 
Quick & Easy Dev Environments with Vagrant
Joe Ferguson
 
Vagrant - Version control your dev environment
bocribbz
 
Create Development and Production Environments with Vagrant
Brian Hogan
 
Vagrant for Development
Jacky Chan
 
The future of the php development environment
Jeremy Quinton
 
Getting Started with Vagrant
Micah Wood
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Gavin Pickin
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
ColdFusionConference
 
Open stack and_vagrant-os-meetup-2015
yfauser
 
Security Testing Using Infrastructure-As-Code
Vision Concepts Infrastructure Services Solution
 
Local development environment through virtualisation
Radu Barbu
 
Cooking Perl with Chef: Hello World Tutorial
David Golden
 
Ad

More from Chef Software, Inc. (20)

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

Recently uploaded (20)

PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Software Development Methodologies in 2025
KodekX
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 

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