Virtualización para Desarrolladores
-
Upload
sergiovier -
Category
Documents
-
view
121 -
download
1
Transcript of Virtualización para Desarrolladores
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
Fuente: http://www.vmware.com/virtualization/
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.)
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
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.
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.
Flujo de Trabajo
Modificar, probar, revertir, modificar, probar …
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.
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
LXC
Fuente: http://www.slideshare.net/adorepump/virtualization-for-development-presentation
Virtualización FULL Virtualización OS
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.
LXC
Demostración
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