15
Virtualización para desarrolladores

Virtualización para Desarrolladores

Embed Size (px)

Citation preview

Page 1: Virtualización para Desarrolladores

Virtualización para desarrolladores

Page 2: Virtualización para Desarrolladores

Sergio Fabián Vier

● Licenciado en Sistemas de Información - UNaM

● Miembro de la comunidad Misiones Software Libre

● +7 manejando GNU/Linux

● +5 desarrollador activo

● +4 experiencia en frameworks php

● +1 experiencia en virtualización y servidores

Page 3: Virtualización para Desarrolladores

Fuente: http://www.vmware.com/virtualization/

Page 4: Virtualización para Desarrolladores

Virtualización

Ventajas➔ Máximo aprovechamiento de los recursos.

➔ Recuperacion ante problemas.

➔ Mas uptime, menos downtime.

➔ Balanceo de carga y responsabilidades.

➔ Mas flexibilidad y automatización.

➔ Gestion de la configuración es posible (puppets, cheff, etc.)

Page 5: Virtualización para Desarrolladores

Virtualización

Virtualization is here to stay. It doesn’t matter if you are an IT Professional for a multinational company, or running a small business, chances are, virtualization is making an impact on how you work.

From "View from the TreeTop" Volume 2 Issue 7 July 2008

Page 6: Virtualización para Desarrolladores

Virtualización

¿Y para un desarrollador que significa?

✔ Entorno desarrollo equivalente a producción.

✔ Disponibilidad de librerías y versiones específicas a una plataforma.

✔ Dar soporte a múltiples plataformas.

✔ Automatizar configuración y despliegue de aplicaciones.

✔ Automatizar y mejorar el testing.

Page 7: Virtualización para Desarrolladores

Flujo de Trabajo

Requisitos para un desarrollador web:

➔ Necesario: funcionar con hardware PC escritorio.

➔ Deseable: consumo controlado de recursos.

Actividades para un desarrollador web:

➔ Editar código fuente (php, js, css, html).

➔ Mantener estructura de datos (archivo, SQL, noSQL).

➔ Realizar pruebas de forma constante.

Page 8: Virtualización para Desarrolladores

Flujo de Trabajo

Modificar, probar, revertir, modificar, probar …

Page 9: Virtualización para Desarrolladores

LXC

Linux Container (LXC) es un método de virtualización de Sistema Operativo (OS), capaz de correr múltiples sistemas Linux aislados (containers) en un único host. LXC no es una máquina virtual, pero provee un entorno virtual con sus propios procesos y espacio de red.

LXC se creó utilizando un mecanismo Linux existente: administración de procesos, sumando una capa de aislamiento o container.

Page 10: Virtualización para Desarrolladores

LXC

Características:

● Adminitración sencilla, es Linux.

● Consumo reducido de recursos.

● Librerías compartidas entre containers.

LXC vs otras tecnologías

✔ Similar a containers de Solaris

✗ Solo containers con kernel Linux

Page 11: Virtualización para Desarrolladores

LXC

Fuente: http://www.slideshare.net/adorepump/virtualization-for-development-presentation

Virtualización FULL Virtualización OS

Page 12: Virtualización para Desarrolladores

LXC

Comandos disponibles:

$ lxc create -n CONTAINER -t TEMPLATE

$ lxc OPCION CONTAINER

Donde CONTAINER es el nombre que le asignamos.

Donde TEMPLATE es:

➔ debian, ubuntu, arch, fedora, opensuse, centos, sshd, etc.

Donde OPCION es:

➔ start, stop, restart, list, info, kill, freeze, backup, restore, clone, unfreeze, destroy, wait, monitor, netstat, console, version, execute, ls, ps, etc.

Page 13: Virtualización para Desarrolladores

LXC

Demostración

Page 14: Virtualización para Desarrolladores

Ayuda y Documentación

Debian & LXC

● http://debian-handbook.info/browse/es-ES/stable/

● http://debian-handbook.info/browse/wheezy/sect.virtualization.html

● http://blog.phenobarbital.info/2013/08/lxc-linux-containers-en-debian-wheezy/

Entorno de Administración para LXC

● http://libvirt.org/

● http://virt-manager.org/

El futuro, automatización de deployments con LXC!

● http://www.docker.io

Page 15: Virtualización para Desarrolladores

Gracias!

@sergiovier

http://www.slideshare.net/sergiovier/