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.1Apkudo
 
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 worldsArun Gupta
 
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 WorkshopArun Gupta
 
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 jsShekhar Gulati
 
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 WicketMatt Raible
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGiIlya Rybak
 
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-nov2011mfrancis
 
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
 
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 microservicesLuram Archanjo
 
Liferay Module Framework
Liferay Module FrameworkLiferay Module Framework
Liferay Module FrameworkMiguel Pastor
 
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...Edureka!
 
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-RSArun Gupta
 
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 ImagesVMware Tanzu
 
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,...OpenBlend society
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web FrameworkWill Iverson
 

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

Introduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelIntroduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelAmazon Web Services
 
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 migrationR-Cubed Design Forge
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with DockerHanoiJUG
 
[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration[English version] JavaFX and Web Integration
[English version] JavaFX and Web IntegrationKazuchika Sekiya
 
Part 7 Docker Toolbox - Windows
Part 7 Docker Toolbox - WindowsPart 7 Docker Toolbox - Windows
Part 7 Docker Toolbox - WindowsBiswajit De
 
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 ContainersAll Things Open
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with DockerPatrick Mizer
 
Getting started vmware apps
Getting started vmware appsGetting started vmware apps
Getting started vmware appsrickyelqasem
 
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!Anthony Dahanne
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA
 
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 HohndelShane Coughlan
 
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 RightScale
 
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 YeruvaMysql User Camp
 
Austin - Container Days - Docker 101
Austin - Container Days - Docker 101Austin - Container Days - Docker 101
Austin - Container Days - Docker 101Bill Maxwell
 
Dockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesDockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesKontena, Inc.
 
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...Nagios
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated wayMichaël Perrin
 

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
 
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...
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated way
 

More from Dan Pilone

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...Dan Pilone
 
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 ...Dan Pilone
 
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 ConvenienceDan Pilone
 
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...Dan Pilone
 
Dev Days 2009 - iPhone Development Overview
Dev Days 2009 - iPhone Development OverviewDev Days 2009 - iPhone Development Overview
Dev Days 2009 - iPhone Development OverviewDan Pilone
 
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 ...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

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

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