Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Development Using Virtualization
Search
Nestor G Pestelos Jr
May 23, 2013
Programming
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Development Using Virtualization
Lessons learned after using Vagrant and Chef to run a Rails 3.0 project at Aelogica.
Nestor G Pestelos Jr
May 23, 2013
More Decks by Nestor G Pestelos Jr
See All by Nestor G Pestelos Jr
How_to_Bring_Up_GitLab.pdf
ngpestelos
0
160
Refactoring_with_LightService.pdf
ngpestelos
0
100
Other Decks in Programming
See All in Programming
ActionController meets Protocol Buffers
sorah
0
520
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
550
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
300
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
590
JIS keyboard support in Omarchy
lef237
0
110
SREの越境 / SRE Collaboration
y0hgi
2
310
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Marketing to machines
jonoalderson
1
5.9k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Transcript
Development Using Virtualization Nestor Pestelos, Jr. @ngpestelos
None
• Some context • Lessons learned using VMs for daily
work • What needs improvement A Retrospective
Context • running monolithic Rails 3.0 app • pre-VMs: use
a wiki doc as guide • introduced Vagrant on Feb 2013 • added Chef recipes on Apr 2013
Before Virtualization • install instructions written on a wiki page
• prone to gaps and document rot • half a working day to setup our environment
New Developers • new developers read the wiki to get
started • doesn't feel productive • half a working day to setup environment
New Machine • yak shave • doesn't feel productive •
half a working day to setup environment
Peculiar Dependencies • examples: PhantomJS and PrinceXML • remember which
version to install • uninstall when you leave the project
Enter Vagrant • programatically setup and teardown VMs • install
everything we need on a box and distribute to team members • downside: keeping track of changes made to the box (think binary diffs)
Enter Chef • run recipes for you, in the order
that you specify • recipe == what needs to be installed • started running manual chef-solo • Vagrant can kickstart a Chef run (!)
Running Self-Contained Boxes • Chef installs everything on Vagrant •
takes a long time to get the right setup • front-loaded VMs (e.g. baked-in keys) • you will miss your beloved $EDITOR settings • YAGNI
Code on the Host, Test on the VM • inspired
by the discourse project • companion project • application code as submodules • not all automated: e.g. ssh keys, rvm, and bundle • simple enough
Next steps / points for improvement • allow cap deploys
both on VM and Host • nginx host mapping (still done manually) • acceptance environments (how to run the same cookbooks on EC2) • bug reporting (broken window theory)