Este documento describe las ventajas de la virtualización para desarrolladores, incluyendo tener entornos de desarrollo equivalentes a producción, dar soporte a múltiples plataformas, y automatizar la configuración y despliegue de aplicaciones. También introduce LXC como una opción de virtualización liviana para desarrolladores que permite ejecutar múltiples sistemas Linux aislados en un solo host con un consumo reducido de recursos.
2. 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
4. 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.)
5. 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
6. 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.
7. 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.
9. 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.
10. 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