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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
21
All-In-On-Serverless
lielran
1
49
Serverless Slack bot
lielran
1
260
Other Decks in Technology
See All in Technology
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.5k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
440
Digitization部 紹介資料
sansan33
PRO
1
6.8k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
150
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
450
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
190
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Google's AI Overviews - The New Search
badams
0
910
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Making Projects Easy
brettharned
120
6.6k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Building Adaptive Systems
keathley
44
2.9k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
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