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
45
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
18
All-In-On-Serverless
lielran
1
48
Serverless Slack bot
lielran
1
260
Other Decks in Technology
See All in Technology
United Airlines Customer Service– Call 1-833-341-3142 Now!
airhelp
0
170
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
550
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
3
7.4k
ゼロからはじめる採用広報
yutadayo
3
970
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
7.9k
Lazy application authentication with Tailscale
bluehatbrit
0
220
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
3
22k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
2
360
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
3
17k
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
170
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
100
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Music & Morning Musume
bryan
46
6.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Why Our Code Smells
bkeepers
PRO
336
57k
GitHub's CSS Performance
jonrohan
1031
460k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
A designer walks into a library…
pauljervisheath
207
24k
Scaling GitHub
holman
460
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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