23
Vagrant from zero to VM (in seconds) [email protected] @apessolano

Vagrant from zero to VM

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Vagrant from zero to VM

Vagrantfrom zero to VM (in seconds)

[email protected]

@apessolano

Page 2: Vagrant from zero to VM

Chi sonoSysAdmin in ambiente M$ dal 2000 al 2004

Web developer dal 2004 (più o meno)

Senior developer @

More info: http://www.linkedin.com/in/antoniopessolano

Page 3: Vagrant from zero to VM

Perchè Vagrant?

Prima di tutto...

Page 4: Vagrant from zero to VM

Qualche anno fa

Page 5: Vagrant from zero to VM

Oggi

Page 6: Vagrant from zero to VM

“Keep development, staging and production as similar as possible”

http://12factor.net

Dev/Prod Parity

Page 7: Vagrant from zero to VM

Problemi principali

• Switchare tra diversi progetti non è semplice

• Il setup dei pacchetti richiesti per ogni progetto non è sempre immediato

• L’ambiente di sviluppo rischia di divergere troppo da quello di produzione

Page 8: Vagrant from zero to VM

La soluzione?

Page 9: Vagrant from zero to VM

Installazione

Le fondamenta

Page 10: Vagrant from zero to VM

Installazionehttps://www.virtualbox.org/wiki/Downloads

Page 11: Vagrant from zero to VM

Installazionehttp://downloads.vagrantup.com/

1. Seleziono la versione che mi interessa

2. successivamente il sistema operativo

che intendo utilizzare

Page 12: Vagrant from zero to VM

I componenti

Come funziona?

Page 13: Vagrant from zero to VM

ProvidersOffrono la possibilità di gestire:

• CPU e RAM

• Networking

• Storage

Dalla versione 1.1.*: Virtualbox, VMWare, AWS, DigitalOcean, ecc.

Page 14: Vagrant from zero to VM

BoxLo scheletro a partire dal quale Vagrant costruisce le virtual machine.

• Le box sono dipendenti dal provider specificato.

• Meccanismo per limitare il tempo di bootstrap di una VM

vagrant box add [label] [uri]

vagrant box add precise64 http://file.vagrantup.com/precise64.box

Page 15: Vagrant from zero to VM

ProvisioningPermette di:

• Permette di installare software, modificare le configurazioni.

• Permette di rendere ripetibile e ridistribuibile la VM.

Vagrant offre diverse soluzioni di provisioning. Tra queste: Shell Script, Chef, Puppet, ecc.

Page 16: Vagrant from zero to VM

Comandi principali

vagrant  box  <command>  <args>

vagrant  box  add  <name>  <url>  [-­‐-­‐provider  provider]vagrant  box  listvagrant  box  remove  <name>  <provider>vagrant  box  repackage  <name>  <provider>

Page 17: Vagrant from zero to VM

Comandi principalivagrant  up

vagrant  ssh

vagrant  halt

vagrant  suspend

vagrant  destroy

lanciare la macchina virtuale

effettua il login via ssh alla VM

spegne la vm (senza cancellare i file)

Salva lo stato della vm e la spegne. Permette un riavvio più rapido

distrugge completamente la VM eliminando tutti i file

Page 18: Vagrant from zero to VM

Tutto chiaro?!

Page 19: Vagrant from zero to VM

Vagrantfile

Andiamo al sodo...

Page 20: Vagrant from zero to VM

La mia prima VMVagrant.configure("2") do |config|

config.vm.box = "precise64"

config.vm.synced_folder "project", "/vagrant"

config.vm.network :forwarded_port, guest:80, host: 8080

config.vm.provider :virtualbox do |vb|

vb.gui = false

vb.customize ["modifyvm", :id, "--memory", "1024"]

end

config.vm.provision :shell, :path => "provision.sh"

end

https://gist.github.com/apessolano/6360194

Page 21: Vagrant from zero to VM

Live demo

Facciamo qualcosa?

Page 22: Vagrant from zero to VM

LinksVagrant: Up and runningMitchel HashimotoO’Reillyhttp://shop.oreilly.com/product/0636920026358.do

Vagrant Docshttp://docs.vagrantup.com/v2/

Vagrant on Twitterhttps://twitter.com/mitchellhhttps://twitter.com/vagrantuphttps://twitter.com/hashicorp

Serviceshttps://puphpet.com/http://rove.io/

Esempihttps://gist.github.com/apessolano/6360194https://gist.github.com/apessolano/6360643https://gist.github.com/apessolano/6360832

Page 23: Vagrant from zero to VM

Grazie!

[email protected]@apessolano

Antonio Pessolano

Immagini utilizzate:http://www.hashicorp.com/images/blog/a-new-look-for-vagrant/logo-8b7a4912.pnghttp://soloconlamiatesta.files.wordpress.com/2012/10/scimmiapensante.jpghttp://cdn.iovideogioco.com/wp-content/uploads/2009/04/lego.jpghttp://andreazanini.altervista.org/wp-content/uploads/2013/04/auto-in-pezzi-parti-esploso.jpghttp://ilsileno.it/wp-content/uploads/2012/03/stupore.jpghttp://www.pontos-news.gr/files/3_avga_diakosmisi_pasxa_616793647.jpg