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
30
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
12
All-In-On-Serverless
lielran
1
43
Serverless Slack bot
lielran
1
250
Other Decks in Technology
See All in Technology
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
150
M&A戦略を支えるデータマネジメント (MIDAS Tech Study #16 GENDA Komiyama)
kommy339
1
130
中年男性がメインフレームから クラウドへキャリアシフトしてみた
uechishingo
0
330
成長をサポートするピープルマネジメントのやり方
sioncojp
9
1.3k
認知症フレンドリーテックとスタックチャン
naokiuc
0
300
require(ESM)とECMAScript仕様
uhyo
4
1k
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.7k
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
4
780
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
300
MixIT 2024 - Pulumi : Gérer son infra avec son langage de programmation préféré
ju_hnny5
1
120
今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
devops_vtj
21
5.8k
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
280
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
14
8.3k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Thoughts on Productivity
jonyablonski
60
3.9k
Embracing the Ebb and Flow
colly
80
4.2k
Statistics for Hackers
jakevdp
790
220k
Agile that works and the tools we love
rasmusluckow
325
20k
Being A Developer After 40
akosma
67
580k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Automating Front-end Workflow
addyosmani
1357
200k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
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