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
the future of development environment
Search
lielran
February 17, 2014
Technology
0
46
the future of development environment
vagrant - the future of development environment
lielran
February 17, 2014
Tweet
Share
More Decks by lielran
See All by lielran
aws-sageMaker
lielran
0
20
All-In-On-Serverless
lielran
1
49
Serverless Slack bot
lielran
1
260
Other Decks in Technology
See All in Technology
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.2k
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.8k
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
170
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
280
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
490
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
110
さくらのクラウド開発ふりかえり2025
kazeburo
2
1.2k
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.5k
Next.js 16の新機能 Cache Components について
sutetotanuki
0
190
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
290
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
2k
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
240
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
130
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
34
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
150
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
98
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
130
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Scaling GitHub
holman
464
140k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
67
Transcript
Development Environment
None
env OS versions environment OS version devs VM’s CentOS release
6.5 (Final) beta61 CentOS release 5.10 (Final) Production(dlxapi61) CentOS release 5.9 (Final) DB61(prod) CentOS release 6.4 (Final) DB01(failover) CentOS release 6.5 (Final)
what do you expect from your dev env? • port-forwarding
• folder linking (sync folders) • cross platform • one-click-setup and easy install process • share with others devs • automatic update • version controlled
Vagrant- “a person without a settled home or regular work
who wanders from place to place and lives by begging.”
what is Vagrant ? • a way of managing virtual
machines • create a lightweight,reproducible and portable env. • run different OS • define VM in code • stands on the shoulders of giants
how ? • providers • cross platform • configuration (as
code) • boxes • provisioning • networking • multi-machine • synced folders • ….
providers
cross platform(vagrant client)
base box minimal packaged version of the OS with some
specific configuration. (e.g. a few tools which allow it to communicate with Vagrant)
other boxes
separate environment for each project • each project configs save
in a Vagrantfile • Vagrantfile written in Ruby • one Vagrantfile for the entire project • can be saved into SCM(easy sharing) (new devs can be onboarded with two command line “git clone x” && “vagrant up”)
self service vagrant is command line tool.
vagrant init vagrant up vagrant halt vagrant status vagrant suspend
vagrant resume vagrant provision vagrant ssh vagrant destroy self service
easy
provisioning after ‘vagrant up’ from minimalistic base box, puppet/chef/salt/ansible/bash -
will take over and provision everything
networking private networks port forwarding DHCP
mimic the prod environment • support multiple machines (in the
same Vagrantfile) • each machine can have different base-box
Synced Folders sync relative path to remote machine
usage • development environments • test environment • ops •
ci
workflow - 1 • Vagrant(file) per for entire project(repository) •
using minimalistic base box • provisioning everything(puppet/chef/ansible/bash)
workflow - 1 pro: • simple management. cons: • out
of date easily with Ops. • slow
workflow - 2 • Vagrant(file) per for entire project(repository) •
another VagrantFile that runs full stack provisioning from minimalistic base image • package and upload the golden image box
workflow - 2 pros: • simple management.(from dev perspective) •
faster cons: • create the golden image is more complex task
demo