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
Nestor G Pestelos Jr
May 23, 2013
Programming
0
51
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
150
Refactoring_with_LightService.pdf
ngpestelos
0
79
Other Decks in Programming
See All in Programming
見た目から始める生産性向上
ikumatadokoro
9
1.3k
敵対的ポイフル
futabato
0
120
PHPはいつから死んでいるかの調査
chiroruxx
2
410
Micro Frontends for Java Microservices - Utah JUG 2024
mraible
PRO
1
100
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
420
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
380
Netty Chicago Java User Group 2024-04-17
sullis
0
200
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
960
Site Reliability Engineering for GMO
pyama86
8
1.1k
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.4k
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
210
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
165
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Teambox: Starting and Learning
jrom
128
8.4k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
For a Future-Friendly Web
brad_frost
172
9k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Web Components: a chance to create the future
zenorocha
306
41k
Making Projects Easy
brettharned
109
5.5k
Clear Off the Table
cherdarchuk
85
310k
We Have a Design System, Now What?
morganepeng
44
6.8k
The Art of Programming - Codeland 2020
erikaheidi
43
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)