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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Nestor G Pestelos Jr
May 23, 2013
Programming
0
59
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
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
630
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
今から始めるClaude Code超入門
448jp
7
8.4k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
140
Implementation Patterns
denyspoltorak
0
280
Basic Architectures
denyspoltorak
0
660
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
190
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
Featured
See All Featured
Crafting Experiences
bethany
1
46
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building Adaptive Systems
keathley
44
2.9k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
Facilitating Awesome Meetings
lara
57
6.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
56
50k
WENDY [Excerpt]
tessaabrams
9
36k
Leo the Paperboy
mayatellez
4
1.4k
The browser strikes back
jonoalderson
0
360
Music & Morning Musume
bryan
47
7.1k
A Soul's Torment
seathinner
5
2.2k
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)