SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Vagrant para automatizar entornos DEV/PRO
Vagrant + Chef Solo + [VirtualBox, vSphere]
@javier_jeronimo
Objetivos
● Entorno desarrollo = entorno producción
○ Mismo SO
○ Mismas herramientas, bibliotecas, versiones...

● Automatizar entornos
○ Poder destruir y re-generar desde cero
○ Sólo esto asegura DEV=PRO

● Control de versiones para todo
● Gestión de dependencias automática
Vagrant
Gestión de máquinas virtuales desde línea de
comandos:
● vagrant up
● vagrant halt
● vagrant ssh
vagrant up => un sólo comando por primera
vez y la máquina estará lista y en ejecución
Vagrant - Conceptos

1.

Definición
Vagrant - Conceptos (1)
Definición de la máquina virtual
● Carpeta conteniendo un Vagrantfile
● ID de la “caja” base (box). Ej: precise64
● URL de la caja (descarga y cache local)
○ ¡Cuidado con cajas con mismo ID!

● Configuración VM: IP, puertos, etc
● Sintaxis del fichero: Ruby DSL
Vagrant - Conceptos (1)
Vagrant::Config.run do |config| # v1
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Boot with a GUI so you can see the screen. (Default is headless)
# config.vm.boot_mode = :gui
#
#
#
#

Assign this VM to a bridged network, allowing you to connect directly to a
network using the host's network device. This makes the VM appear as another
physical device on your network.
config.vm.network :bridged

# Forward a port from the guest to the host, which allows for outside
# computers to access the VM, whereas host only networking does not.
# config.vm.forward_port 80, 8080
[...]
Vagrant - Conceptos

2.

Proveedor
Vagrant - Conceptos (2)
Proveedor (provider) de la máquina:
● ¿Qué es? => Quien finalmente la ejecuta
Proveedores:
● VirtualBox (incluido en Vagrant)
● VMWare, de pago (Workstation, Fusion)
● Otros mediante plugins: AWS, vSphere, etc.
Vagrant - Conceptos

3.

Aprovisionador
Vagrant - Conceptos (3)
Aprovisionador (provisioner):
● Prepara la máquina: instala paquetes,
configura usuarios, etc.
● Varios disponibles:
○
○
○
○

Shell script
Puppet
Chef Solo
...
Vagrant - Plugins
● Proveedores. Ej: Añadir soporte para AWS,
vSphere, OpenStack, Parallels, ...
● Aprovisionadores. Ej:
○ Chef: gestionar dependencias con Berkshelf o
Librarian, actualizar con OmniBus, …
○ Puppet: gestionar dependencias con Librarian
○ Otros: añadir soporte para Fabric, ...

● Otros. Ej: exec, screenshot, ...
Vagrant - Gestión configuración
Caja base: ID + URL

Vagrantfile

Recetas a ejecutar +
parámetros JSON

1
3
2

Berksfile

./cookbooks/*

./databags/*
Gestión de
configuración de las
recetas Chef

URL-de-la-caja

./roles/*

Proveedor
VirtualBox
(instalación local)
vSphere (servidor)
Vagrant - Diferentes entornos
Desarrollo:
● VirtualBox
● Detalles:
○ Redes host-guest,
guest-guest
○ DNS en /etc/hosts

● Entorno aislado en
ordenador

Producción:
● VMware vSphere
● Detalles:
○ Red virtualizada en
CPD
○ DNS por servidor

● Entorno CPD
virtualizado
Vagrant - Gestión configuración
Repositorio:
●
●
●
●

●

●

●
●

cookbooks/
databags/
roles/
boxes/
○ vsphere.box <== (caja vacía: sólo metadatos provider)
○ precise64_virtualbox.box<== (VirtualBox VM: disco duro con datos, definición...)
production/
○ server01/
■ Vagrantfile <== (provider=vSphere, box=vsphere.box)
■ Berksfile <== (gestión de dependencias Chef)
development/
○ server01/
■ Vagrantfile <== (provider=VirtualBox, box=precise64_virtualbox.box)
■ Berksfile <== (gestión de dependencias Chef)
Gemfile <== (gestión de dependencias Ruby)
plugins.json <== (gestión de dependencias: plugins Vagrant)
Vagrant - Entorno desarrollo
web.example.com
sql.example.com
tasks.example.com
...

VirtualBox: VMs

Ordenador
Ingeniero SW

Red virtual

Red virtual

Red virtual

Red virtual
Vagrant - Entorno desarrollo
Chef-Solo

6

Instalación de la máquina
virtual: recetas, datos...
Plugin: Chef OmniBus installer

5
5
4

4
CLI
Virtualbox

6

VM Boot + configuración
básica: IP, puertos, carpetas
compartidas, ...

2

3
Plugin: Berkshelf

incluido en
vagrant

CLI
2

Creación de la máquina
virtual

Vagrant

1

Descarga y cache local
de la caja: *_virtualbox

3
1
Vagrant - Entorno producción
web.example.com
sql.example.com
tasks.example.com
...

Ordenador
Ingeniero SW

Servidor vSphere ESXi
Vagrant - Entorno producción
Chef-Solo

7

Instalación de la máquina
virtual: recetas, datos...
Plugin: Chef OmniBus installer

6
1

vSphere
plugin vagrant

VM Boot + configuración
5 básica: IP, puertos, carpetas
API compartidas, ...
Plugin: Berkshelf
API
Creación de la máquina
3
virtual: template + spec
2

Creación: template +
customization spec

1

Descarga de una
máquina VMWare

vSphere

6

7
2

4
5

3

4
Objetivos
● Entorno desarrollo = entorno producción
○ Distinta máquina: IPs, VirtualBox vs vSphere...
○ Mismas recetas Chef: gestión de configuración

● Automatizar entornos
○ vagrant up / vagrant provision / vagrant destroy

● Control de versiones para todo
● Gestión de dependencias automática
○ Bundler (Gemfile), Berkshelf (Berksfile +
cookbooks/*/metadata.rb)
Referencias
Vagrant - Plugins: https://github.
com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins
Vagrant - Cajas: http://www.vagrantbox.es/
Berkshelf: http://berkshelf.com
vSphere - Templates: http://goo.gl/H8jdxQ
vSphere - Customization specs: http://goo.gl/OUVcTo

Más contenido relacionado

La actualidad más candente

MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2 MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2 marcoita
 
Una introducción a vagrant
Una introducción a vagrantUna introducción a vagrant
Una introducción a vagrantLaura Gimenoide
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansiblepacvslideshare
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programaciónMario Garcia-Valdez
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemupacvslideshare
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrantpacvslideshare
 
Armitage pruebas
Armitage pruebasArmitage pruebas
Armitage pruebasTensor
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicasAny Saula
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualizaciónpacvslideshare
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containersJulioMontes23
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSBEEVA_es
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
 

La actualidad más candente (20)

Vagrant
VagrantVagrant
Vagrant
 
MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2 MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2
 
Una introducción a vagrant
Una introducción a vagrantUna introducción a vagrant
Una introducción a vagrant
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansible
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemu
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrant
 
Introduccion A Docker
Introduccion A DockerIntroduccion A Docker
Introduccion A Docker
 
Armitage pruebas
Armitage pruebasArmitage pruebas
Armitage pruebas
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicas
 
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualización
 
Virtualenv y buildout
Virtualenv y buildoutVirtualenv y buildout
Virtualenv y buildout
 
Introducción a Ansible
Introducción a AnsibleIntroducción a Ansible
Introducción a Ansible
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containers
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 

Destacado

Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónKleer Agile Coaching & Training
 
Curso puppet lenguaje_2
Curso puppet lenguaje_2Curso puppet lenguaje_2
Curso puppet lenguaje_2martacdehesa
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoSergio Zambrano Delfa
 
Dev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasDev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasJuan Mauricio
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performanceDavid Monllaó
 
Graylog Engineering - Design Your Architecture
Graylog Engineering - Design Your ArchitectureGraylog Engineering - Design Your Architecture
Graylog Engineering - Design Your ArchitectureGraylog
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectiveJustin Basilico
 
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Dawen Liang
 
(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learningYves Raimond
 
Balancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsBalancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsMohammad Hossein Taghavi
 

Destacado (12)

Discovering New Apps
Discovering New AppsDiscovering New Apps
Discovering New Apps
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Curso puppet lenguaje_2
Curso puppet lenguaje_2Curso puppet lenguaje_2
Curso puppet lenguaje_2
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Dev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasDev ops. Rompiendo Barreras
Dev ops. Rompiendo Barreras
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performance
 
Graylog Engineering - Design Your Architecture
Graylog Engineering - Design Your ArchitectureGraylog Engineering - Design Your Architecture
Graylog Engineering - Design Your Architecture
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry Perspective
 
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
 
(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning
 
Balancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsBalancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in Recommendations
 
Gestionando servidores con Puppet
Gestionando servidores con PuppetGestionando servidores con Puppet
Gestionando servidores con Puppet
 

Similar a Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere

El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfectobetabeers
 
Oracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedOracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedV. Javierf Fdez
 
3 3 virtual_box
3 3 virtual_box3 3 virtual_box
3 3 virtual_boxCris Puga
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Irontec
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloMarco Bellido
 
generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...César Martín Ortiz Pintado
 
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
Magallanes, Herramienta de despliegue PHP sencilla y poderosa�Magallanes, Herramienta de despliegue PHP sencilla y poderosa�
Magallanes, Herramienta de despliegue PHP sencilla y poderosaFco Javier Núñez Berrocoso
 
Generar nuestro local docker container registry server ssl autofirmado
Generar nuestro local docker container registry server  ssl autofirmadoGenerar nuestro local docker container registry server  ssl autofirmado
Generar nuestro local docker container registry server ssl autofirmadoCésar Martín Ortiz Pintado
 
Entornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligerosEntornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligerosbetabeers
 

Similar a Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere (20)

El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfecto
 
Oracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedOracle VM VirtualBox Hacked
Oracle VM VirtualBox Hacked
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 
3 3 virtual_box
3 3 virtual_box3 3 virtual_box
3 3 virtual_box
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrollo
 
Documentacion vnc
Documentacion vncDocumentacion vnc
Documentacion vnc
 
generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...
 
Virtualbox
VirtualboxVirtualbox
Virtualbox
 
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
Magallanes, Herramienta de despliegue PHP sencilla y poderosa�Magallanes, Herramienta de despliegue PHP sencilla y poderosa�
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
 
Generar nuestro local docker container registry server ssl autofirmado
Generar nuestro local docker container registry server  ssl autofirmadoGenerar nuestro local docker container registry server  ssl autofirmado
Generar nuestro local docker container registry server ssl autofirmado
 
Laboratorio 1
Laboratorio 1Laboratorio 1
Laboratorio 1
 
[Run Reloaded] SCVMM 2008 R2 a fondo (Antonio Scuotto + Alejandro Ponicke)
[Run Reloaded] SCVMM 2008 R2 a fondo (Antonio Scuotto + Alejandro Ponicke)[Run Reloaded] SCVMM 2008 R2 a fondo (Antonio Scuotto + Alejandro Ponicke)
[Run Reloaded] SCVMM 2008 R2 a fondo (Antonio Scuotto + Alejandro Ponicke)
 
La Estación de Virtualización
La Estación de VirtualizaciónLa Estación de Virtualización
La Estación de Virtualización
 
Virtualization Station
Virtualization StationVirtualization Station
Virtualization Station
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Entornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligerosEntornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligeros
 
Seguridad de las Redes
Seguridad de las RedesSeguridad de las Redes
Seguridad de las Redes
 

Último

Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Último (20)

Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere

  • 1. Vagrant para automatizar entornos DEV/PRO Vagrant + Chef Solo + [VirtualBox, vSphere] @javier_jeronimo
  • 2. Objetivos ● Entorno desarrollo = entorno producción ○ Mismo SO ○ Mismas herramientas, bibliotecas, versiones... ● Automatizar entornos ○ Poder destruir y re-generar desde cero ○ Sólo esto asegura DEV=PRO ● Control de versiones para todo ● Gestión de dependencias automática
  • 3. Vagrant Gestión de máquinas virtuales desde línea de comandos: ● vagrant up ● vagrant halt ● vagrant ssh vagrant up => un sólo comando por primera vez y la máquina estará lista y en ejecución
  • 5. Vagrant - Conceptos (1) Definición de la máquina virtual ● Carpeta conteniendo un Vagrantfile ● ID de la “caja” base (box). Ej: precise64 ● URL de la caja (descarga y cache local) ○ ¡Cuidado con cajas con mismo ID! ● Configuración VM: IP, puertos, etc ● Sintaxis del fichero: Ruby DSL
  • 6. Vagrant - Conceptos (1) Vagrant::Config.run do |config| # v1 # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. # Boot with a GUI so you can see the screen. (Default is headless) # config.vm.boot_mode = :gui # # # # Assign this VM to a bridged network, allowing you to connect directly to a network using the host's network device. This makes the VM appear as another physical device on your network. config.vm.network :bridged # Forward a port from the guest to the host, which allows for outside # computers to access the VM, whereas host only networking does not. # config.vm.forward_port 80, 8080 [...]
  • 8. Vagrant - Conceptos (2) Proveedor (provider) de la máquina: ● ¿Qué es? => Quien finalmente la ejecuta Proveedores: ● VirtualBox (incluido en Vagrant) ● VMWare, de pago (Workstation, Fusion) ● Otros mediante plugins: AWS, vSphere, etc.
  • 10. Vagrant - Conceptos (3) Aprovisionador (provisioner): ● Prepara la máquina: instala paquetes, configura usuarios, etc. ● Varios disponibles: ○ ○ ○ ○ Shell script Puppet Chef Solo ...
  • 11. Vagrant - Plugins ● Proveedores. Ej: Añadir soporte para AWS, vSphere, OpenStack, Parallels, ... ● Aprovisionadores. Ej: ○ Chef: gestionar dependencias con Berkshelf o Librarian, actualizar con OmniBus, … ○ Puppet: gestionar dependencias con Librarian ○ Otros: añadir soporte para Fabric, ... ● Otros. Ej: exec, screenshot, ...
  • 12. Vagrant - Gestión configuración Caja base: ID + URL Vagrantfile Recetas a ejecutar + parámetros JSON 1 3 2 Berksfile ./cookbooks/* ./databags/* Gestión de configuración de las recetas Chef URL-de-la-caja ./roles/* Proveedor VirtualBox (instalación local) vSphere (servidor)
  • 13. Vagrant - Diferentes entornos Desarrollo: ● VirtualBox ● Detalles: ○ Redes host-guest, guest-guest ○ DNS en /etc/hosts ● Entorno aislado en ordenador Producción: ● VMware vSphere ● Detalles: ○ Red virtualizada en CPD ○ DNS por servidor ● Entorno CPD virtualizado
  • 14. Vagrant - Gestión configuración Repositorio: ● ● ● ● ● ● ● ● cookbooks/ databags/ roles/ boxes/ ○ vsphere.box <== (caja vacía: sólo metadatos provider) ○ precise64_virtualbox.box<== (VirtualBox VM: disco duro con datos, definición...) production/ ○ server01/ ■ Vagrantfile <== (provider=vSphere, box=vsphere.box) ■ Berksfile <== (gestión de dependencias Chef) development/ ○ server01/ ■ Vagrantfile <== (provider=VirtualBox, box=precise64_virtualbox.box) ■ Berksfile <== (gestión de dependencias Chef) Gemfile <== (gestión de dependencias Ruby) plugins.json <== (gestión de dependencias: plugins Vagrant)
  • 15. Vagrant - Entorno desarrollo web.example.com sql.example.com tasks.example.com ... VirtualBox: VMs Ordenador Ingeniero SW Red virtual Red virtual Red virtual Red virtual
  • 16. Vagrant - Entorno desarrollo Chef-Solo 6 Instalación de la máquina virtual: recetas, datos... Plugin: Chef OmniBus installer 5 5 4 4 CLI Virtualbox 6 VM Boot + configuración básica: IP, puertos, carpetas compartidas, ... 2 3 Plugin: Berkshelf incluido en vagrant CLI 2 Creación de la máquina virtual Vagrant 1 Descarga y cache local de la caja: *_virtualbox 3 1
  • 17. Vagrant - Entorno producción web.example.com sql.example.com tasks.example.com ... Ordenador Ingeniero SW Servidor vSphere ESXi
  • 18. Vagrant - Entorno producción Chef-Solo 7 Instalación de la máquina virtual: recetas, datos... Plugin: Chef OmniBus installer 6 1 vSphere plugin vagrant VM Boot + configuración 5 básica: IP, puertos, carpetas API compartidas, ... Plugin: Berkshelf API Creación de la máquina 3 virtual: template + spec 2 Creación: template + customization spec 1 Descarga de una máquina VMWare vSphere 6 7 2 4 5 3 4
  • 19. Objetivos ● Entorno desarrollo = entorno producción ○ Distinta máquina: IPs, VirtualBox vs vSphere... ○ Mismas recetas Chef: gestión de configuración ● Automatizar entornos ○ vagrant up / vagrant provision / vagrant destroy ● Control de versiones para todo ● Gestión de dependencias automática ○ Bundler (Gemfile), Berkshelf (Berksfile + cookbooks/*/metadata.rb)
  • 20. Referencias Vagrant - Plugins: https://github. com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins Vagrant - Cajas: http://www.vagrantbox.es/ Berkshelf: http://berkshelf.com vSphere - Templates: http://goo.gl/H8jdxQ vSphere - Customization specs: http://goo.gl/OUVcTo