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
the future of development environment
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
lielran
February 17, 2014
Technology
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
the future of development environment
vagrant - the future of development environment
lielran
February 17, 2014
More Decks by lielran
See All by lielran
aws-sageMaker
lielran
0
23
All-In-On-Serverless
lielran
1
54
Serverless Slack bot
lielran
1
270
Other Decks in Technology
See All in Technology
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
210
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
150
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Documentation Writing (for coders)
carmenintech
77
5.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
The agentic SEO stack - context over prompts
schlessera
0
970
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
4 Signs Your Business is Dying
shpigford
187
23k
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