Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Development Using Virtualization
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nestor G Pestelos Jr
May 23, 2013
Programming
0
60
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
Tweet
Share
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
95
Other Decks in Programming
See All in Programming
CSC307 Lecture 05
javiergs
PRO
0
500
CSC307 Lecture 03
javiergs
PRO
1
490
CSC307 Lecture 07
javiergs
PRO
1
550
今から始めるClaude Code超入門
448jp
8
9k
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
480
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.4k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
760
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
310
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
CSC307 Lecture 10
javiergs
PRO
1
660
Featured
See All Featured
We Are The Robots
honzajavorek
0
160
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Ace a Technical Interview
jacobian
281
24k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
77
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
My Coaching Mixtape
mlcsv
0
48
Discover your Explorer Soul
emna__ayadi
2
1.1k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
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)