SlideShare a Scribd company logo
1 of 41
Using Vagrant for Rails
Development

Dan Pilone
www.element84.com

 Copyright 2012 Element 84, LLC
                                  1
About Us

Element 84, LLC
    Customer focused agile development and training
    End to end Web and Mobile development
    Customers include NASA, Raytheon, Fidelity
    Investments, Yacht.com, Spacefindr.com



 Copyright 2012 Element 84, LLC
                                                      2
About Us

Element 84, LLC
    Customer focused agile development and training
    End to end Web and Mobile development
    Customers include NASA, Raytheon, Fidelity
    Investments, Yacht.com, Spacefindr.com



 Copyright 2012 Element 84, LLC
                                                      2
Client A

                                 ★Ruby  1.8.7
                                 ★Rails 2.3
                                 ★MySQL
                                 ★Redis
                                 ★ImageMagick
                                 ★EngineYard



Copyright 2012 Element 84, LLC
Client B

                                 ★Ruby  1.9.3
                                 ★Rails 3.0
                                 ★MySQL 5.1
                                 ★Passenger
                                 ★WebKit + Qt



Copyright 2012 Element 84, LLC
Client C

                                 ★JRuby   1.6
                                 ★Rails 3.0-3.2
                                 ★Oracle RAC
                                 ★ElasticSearch
                                 ★9 node HA+LB



Copyright 2012 Element 84, LLC
Client C

                                 ★JRuby   1.6
                                 ★Rails 3.0-3.2
                                 ★Oracle RAC
                                 ★ElasticSearch
                                 ★9 node HA+LB



Copyright 2012 Element 84, LLC
RVM + Bundler isn’t enough....

Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Vagrant!

 Uses VirtualBox to provide development VM
 environments
 Lets you CM your development environment with your
 code
 Provides transparent access from your dev box



 Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Vagrant boxes are
                       available for nearly every
                            flavor of linux...


Copyright 2012 Element 84, LLC
vagrant box add mybox http://mybox




 Copyright 2012 Element 84, LLC
vagrant box add mybox http://mybox

                                  vagrant init*




 Copyright 2012 Element 84, LLC               * technically the VirtualBox VM
                                              isn’t created until the first “up”
vagrant box add mybox http://mybox

                                  vagrant init*

                                   vagrant up


 Copyright 2012 Element 84, LLC                 * technically the VirtualBox VM
                                                isn’t created until the first “up”
Demo



Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
/vagrant




Copyright 2012 Element 84, LLC
/vagrant



                                    ??



Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Demo



Copyright 2012 Element 84, LLC
vagrant box add mybox http://mybox




 Copyright 2012 Element 84, LLC
vagrant box add mybox http://mybox

                                  vagrant init*




 Copyright 2012 Element 84, LLC               * technically the VirtualBox VM
                                              isn’t created until the first “up”
vagrant box add mybox http://mybox

                                  vagrant init*

                                   vagrant up


 Copyright 2012 Element 84, LLC                 * technically the VirtualBox VM
                                                isn’t created until the first “up”
vagrant box add mybox http://mybox

                                  vagrant init*

                                   vagrant up

                       vagrant provision
 Copyright 2012 Element 84, LLC                 * technically the VirtualBox VM
                                                isn’t created until the first “up”
Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Copyright 2012 Element 84, LLC
Advanced Vagrant...



 Copyright 2012 Element 84, LLC
Making your own boxes

Create a basic Vagrant setup
Provision and configure as desired
Create a package specific Vagrantfile
Run vagrant package
Profit Distribute to teammates


 Copyright 2012 Element 84, LLC
Multi-VM Configuration
Used to simulate multi-
tier systems
Can simulate node
failure, load balancing,
cluster connectivity,
etc.
Uses host-only
networking

 iPhone Overview - Copyright 2010 Element 84, LLC
Copyright 2012 Element 84, LLC
Crazy demo... maybe.




Copyright 2012 Element 84, LLC
Possible issues
 Disk IO can be slow as the number of files grow due to
 VirtualBox issues.
    Use NFS in these situations.
 Memory usage can get tight as number and size of
 VMs grow.
    Buy more memory...
 Not really designed for performance testing

 Copyright 2012 Element 84, LLC
Tips
Don’t forget to exclude .vagrant directory from CM
Use real provisioning (e.g. Puppet, Chef, etc.) Seriously.
Spend the time. Don’t cheat.
Consider building a set of project specific boxes and
using those instead of having everyone reprovision from
base box.
Vagrant has great Rake integration - consider using this
for any repetitive tasks that have to be done inside the
VM.

 Copyright 2012 Element 84, LLC
More information


Me: Dan Pilone (dan@element84.com, @danpilone)
Vagrant: http://vagrantup.com
Puppet: http://puppetlabs.com/




 Copyright 2012 Element 84, LLC

More Related Content

What's hot

Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Apkudo
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular js
Shekhar Gulati
 
OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...
OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...
OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...
mfrancis
 
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
mfrancis
 

What's hot (20)

Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
 
OSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worldsOSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worlds
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 Workshop
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular js
 
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and WicketComparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011
 
OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...
OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...
OSGi-friendly bytecode weaving – enhance your classes, not your dependency gr...
 
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph!  ...
Bytecode Weaving in OSGi – Enhance Your Classes, Not Your Dependency graph! ...
 
Micronaut: A new way to build microservices
Micronaut: A new way to build microservicesMicronaut: A new way to build microservices
Micronaut: A new way to build microservices
 
CDI 2.0 is upon us Devoxx
CDI 2.0 is upon us DevoxxCDI 2.0 is upon us Devoxx
CDI 2.0 is upon us Devoxx
 
JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
 
Liferay Module Framework
Liferay Module FrameworkLiferay Module Framework
Liferay Module Framework
 
Java Interview Questions and Answers | Spring and Hibernate Interview Questio...
Java Interview Questions and Answers | Spring and Hibernate Interview Questio...Java Interview Questions and Answers | Spring and Hibernate Interview Questio...
Java Interview Questions and Answers | Spring and Hibernate Interview Questio...
 
JVMs in Containers
JVMs in ContainersJVMs in Containers
JVMs in Containers
 
Spark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RSSpark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RS
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
 
Java Desktop 2019
Java Desktop 2019Java Desktop 2019
Java Desktop 2019
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web Framework
 

Similar to Using Vagrant for Rails development

Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
 

Similar to Using Vagrant for Rails development (20)

Container BoM Inspection with TERN
Container BoM Inspection with TERNContainer BoM Inspection with TERN
Container BoM Inspection with TERN
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Introduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelIntroduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day Israel
 
Multi Stage Docker Build
Multi Stage Docker Build Multi Stage Docker Build
Multi Stage Docker Build
 
Intro to development sites and site migration
Intro to development sites and site migrationIntro to development sites and site migration
Intro to development sites and site migration
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration
 
Part 7 Docker Toolbox - Windows
Part 7 Docker Toolbox - WindowsPart 7 Docker Toolbox - Windows
Part 7 Docker Toolbox - Windows
 
Lessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for ContainersLessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for Containers
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Getting started vmware apps
Getting started vmware appsGetting started vmware apps
Getting started vmware apps
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 
Don't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk HohndelDon't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk Hohndel
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
MySQL docker with demo by Ramana Yeruva
MySQL docker with demo by Ramana YeruvaMySQL docker with demo by Ramana Yeruva
MySQL docker with demo by Ramana Yeruva
 
Austin - Container Days - Docker 101
Austin - Container Days - Docker 101Austin - Container Days - Docker 101
Austin - Container Days - Docker 101
 
Dockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesDockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best Practices
 
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
 

More from Dan Pilone

More from Dan Pilone (6)

ESIP 2019 Summer Meeting - Improving Information and Communication in a Disas...
ESIP 2019 Summer Meeting - Improving Information and Communication in a Disas...ESIP 2019 Summer Meeting - Improving Information and Communication in a Disas...
ESIP 2019 Summer Meeting - Improving Information and Communication in a Disas...
 
Esip 2019 Winter Plenary - Dan Pilone - From Baseline Science Instruments to ...
Esip 2019 Winter Plenary - Dan Pilone - From Baseline Science Instruments to ...Esip 2019 Winter Plenary - Dan Pilone - From Baseline Science Instruments to ...
Esip 2019 Winter Plenary - Dan Pilone - From Baseline Science Instruments to ...
 
ESIP 2018 - The Case for Archives of Convenience
ESIP 2018 - The Case for Archives of ConvenienceESIP 2018 - The Case for Archives of Convenience
ESIP 2018 - The Case for Archives of Convenience
 
AWS Earth and Space 2018 - Element 84 Processing and Streaming GOES-16 Data...
AWS Earth and Space 2018 -   Element 84 Processing and Streaming GOES-16 Data...AWS Earth and Space 2018 -   Element 84 Processing and Streaming GOES-16 Data...
AWS Earth and Space 2018 - Element 84 Processing and Streaming GOES-16 Data...
 
Dev Days 2009 - iPhone Development Overview
Dev Days 2009 - iPhone Development OverviewDev Days 2009 - iPhone Development Overview
Dev Days 2009 - iPhone Development Overview
 
Controlled Chaos: A Case Study Of Introducing Rails Into An Operational NASA ...
Controlled Chaos: A Case Study Of Introducing Rails Into An Operational NASA ...Controlled Chaos: A Case Study Of Introducing Rails Into An Operational NASA ...
Controlled Chaos: A Case Study Of Introducing Rails Into An Operational NASA ...
 

Recently uploaded

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Using Vagrant for Rails development

  • 1. Using Vagrant for Rails Development Dan Pilone www.element84.com Copyright 2012 Element 84, LLC 1
  • 2. About Us Element 84, LLC Customer focused agile development and training End to end Web and Mobile development Customers include NASA, Raytheon, Fidelity Investments, Yacht.com, Spacefindr.com Copyright 2012 Element 84, LLC 2
  • 3. About Us Element 84, LLC Customer focused agile development and training End to end Web and Mobile development Customers include NASA, Raytheon, Fidelity Investments, Yacht.com, Spacefindr.com Copyright 2012 Element 84, LLC 2
  • 4. Client A ★Ruby 1.8.7 ★Rails 2.3 ★MySQL ★Redis ★ImageMagick ★EngineYard Copyright 2012 Element 84, LLC
  • 5. Client B ★Ruby 1.9.3 ★Rails 3.0 ★MySQL 5.1 ★Passenger ★WebKit + Qt Copyright 2012 Element 84, LLC
  • 6. Client C ★JRuby 1.6 ★Rails 3.0-3.2 ★Oracle RAC ★ElasticSearch ★9 node HA+LB Copyright 2012 Element 84, LLC
  • 7. Client C ★JRuby 1.6 ★Rails 3.0-3.2 ★Oracle RAC ★ElasticSearch ★9 node HA+LB Copyright 2012 Element 84, LLC
  • 8. RVM + Bundler isn’t enough.... Copyright 2012 Element 84, LLC
  • 13. Vagrant! Uses VirtualBox to provide development VM environments Lets you CM your development environment with your code Provides transparent access from your dev box Copyright 2012 Element 84, LLC
  • 16. Vagrant boxes are available for nearly every flavor of linux... Copyright 2012 Element 84, LLC
  • 17. vagrant box add mybox http://mybox Copyright 2012 Element 84, LLC
  • 18. vagrant box add mybox http://mybox vagrant init* Copyright 2012 Element 84, LLC * technically the VirtualBox VM isn’t created until the first “up”
  • 19. vagrant box add mybox http://mybox vagrant init* vagrant up Copyright 2012 Element 84, LLC * technically the VirtualBox VM isn’t created until the first “up”
  • 23. /vagrant ?? Copyright 2012 Element 84, LLC
  • 27. vagrant box add mybox http://mybox Copyright 2012 Element 84, LLC
  • 28. vagrant box add mybox http://mybox vagrant init* Copyright 2012 Element 84, LLC * technically the VirtualBox VM isn’t created until the first “up”
  • 29. vagrant box add mybox http://mybox vagrant init* vagrant up Copyright 2012 Element 84, LLC * technically the VirtualBox VM isn’t created until the first “up”
  • 30. vagrant box add mybox http://mybox vagrant init* vagrant up vagrant provision Copyright 2012 Element 84, LLC * technically the VirtualBox VM isn’t created until the first “up”
  • 34. Advanced Vagrant... Copyright 2012 Element 84, LLC
  • 35. Making your own boxes Create a basic Vagrant setup Provision and configure as desired Create a package specific Vagrantfile Run vagrant package Profit Distribute to teammates Copyright 2012 Element 84, LLC
  • 36. Multi-VM Configuration Used to simulate multi- tier systems Can simulate node failure, load balancing, cluster connectivity, etc. Uses host-only networking iPhone Overview - Copyright 2010 Element 84, LLC
  • 38. Crazy demo... maybe. Copyright 2012 Element 84, LLC
  • 39. Possible issues Disk IO can be slow as the number of files grow due to VirtualBox issues. Use NFS in these situations. Memory usage can get tight as number and size of VMs grow. Buy more memory... Not really designed for performance testing Copyright 2012 Element 84, LLC
  • 40. Tips Don’t forget to exclude .vagrant directory from CM Use real provisioning (e.g. Puppet, Chef, etc.) Seriously. Spend the time. Don’t cheat. Consider building a set of project specific boxes and using those instead of having everyone reprovision from base box. Vagrant has great Rake integration - consider using this for any repetitive tasks that have to be done inside the VM. Copyright 2012 Element 84, LLC
  • 41. More information Me: Dan Pilone (dan@element84.com, @danpilone) Vagrant: http://vagrantup.com Puppet: http://puppetlabs.com/ Copyright 2012 Element 84, LLC

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. This is no fun. We don’t want to develop in a VM using vim....\n
  10. We want access to our native environment\n
  11. \n
  12. Vagrant is technically a gem but as of v1.0 (March 2012) there are packages for OSX, Windows, Ubuntu, Debian, Redhat, etc.\n
  13. \n
  14. \n
  15. * technically the VirtualBox VM isn’t created until the first “up”\n
  16. * technically the VirtualBox VM isn’t created until the first “up”\n
  17. * technically the VirtualBox VM isn’t created until the first “up”\n
  18. * technically the VirtualBox VM isn’t created until the first “up”\n
  19. * technically the VirtualBox VM isn’t created until the first “up”\n
  20. * technically the VirtualBox VM isn’t created until the first “up”\n
  21. * technically the VirtualBox VM isn’t created until the first “up”\n
  22. Demo1 showing a box added to vagrant\nvagrant init lucid64\nvagrant up\nvagrant ssh\nvagrant status\n\n
  23. But how do we get here?\n
  24. Demo 2: basic Ruby app:\nvagrant up\nShow mounted filesystem\nstart rails\ncurl\n
  25. \n
  26. \n
  27. Demo2 configured for port forwarding\nvagrant reload\nvagrant ssh\nstartup rails\nhit with local browser\n
  28. We’re just getting warmed up.... (but my talk is almost over...)\n
  29. We’re just getting warmed up.... (but my talk is almost over...)\n
  30. We’re just getting warmed up.... (but my talk is almost over...)\n
  31. We’re just getting warmed up.... (but my talk is almost over...)\n
  32. We’re just getting warmed up.... (but my talk is almost over...)\n
  33. We’re just getting warmed up.... (but my talk is almost over...)\n
  34. We’re just getting warmed up.... (but my talk is almost over...)\n
  35. We’re just getting warmed up.... (but my talk is almost over...)\n
  36. We’re just getting warmed up.... (but my talk is almost over...)\n
  37. We’re just getting warmed up.... (but my talk is almost over...)\n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. Demo 4:\nvagrant up\nvagrant ssh es1\ncd elastic....\n./bin/elasticsearch -f\n
  46. \n
  47. \n
  48. \n