miércoles, 5 de mayo de 2010

Virtualizacion

Hace mucho tiempo, como una contribución a la una revista paraguaya de software, escribí un articulo sobre la virtualización. El comentario en ese momento fue mas por la ausencia de software libre en el articulo, ya que la revista estaba orientada a software libre, pero bueno, he aquí el contenido.

Voy a hacer la reescritura de ese articulo con algunos agregados y actualizaciones, tratando de recordar las partes principales, pues ya no dispongo de la versión original.

La virtualización mas allá de lo que puede explicar wikipedia, es básicamente una tecnología que nos permite crear varias maquinas dentro de un solo hardware real. Es decir, una maquina que se comporta como varias.

En el concepto de redes, una computadora, equivale a un nodo de red, a un numero de IP con su respectiva dirección de hardware conocida como MAC address. Entonces, la virtualización, cuando en su auge fue, y aun es una tecnología revolucionaria para los centros de cómputos.




Antes, para hacer funcionar un nodo, se requería espacio para un gabinete, energía eléctrica dedicada para este equipo, el hardware necesario para hacerlo funcionar: placa, procesador, memoria, disco, tarjeta de red, etc. Con la llegada de la virtualización, un maquina puede contener a muchas otras, sin necesidad de consumir mas electricidad, sin necesidad de hardware para cada uno de esos nodos.

Existen muchas tecnologías de virtualización, y muchas empresas que desarrollan soluciones de virtualización para optimizar el desempeño tanto de la maquina real, como de los nodos contenidos en ella. Entre estas puedo citar a VMWare, Qemu, Xen, Sun e incluso Microsoft, aunque este ultimo ha dejado la virtualización como un agregado simplemente.

VMWare fue uno de los pioneros en la tecnología, y sigue siendo una empresa líder en este sector. Aunque el código de sus soluciones es cerrado, se puede acceder a algunos de su productos de forma gratuita.

Xen y en este sentido VMWare son los competidores mas pujantes como organizaciones, aunque en los últimos tiempos se ha desarrollado el KVM, que es una extensión del kernel de GNU/Linux que también permite virtualización sin necesidad de proveedor, y son los principales exponentes de tecnología de virtualización para servidores de misión critica, es decir, eso nodos de red que no deben caer nunca.

Qemu, una de las herramientas mas usadas previa a estas empresa, y últimamente VirtualBox de Sun, son soluciones que aunque son muy estables, están mas bien orientados a un uso menos críticos. Generalmente se usan para crear maquinas virtuales de sistemas operativos para pruebas en el desarrollo de software, ya que una maquina virtual puede ser usada, modificada, testeada con el software especifico, y luego vuelta a su estado original, si el software no se comporta como debe. Entonces el espacio de prueba no es alterado, y además no hay necesidad de volver a instalar la maquina de prueba.

He leído varios artículos donde exponen formas en que VirtualBox puede ser aplicado a ambientes de servidores, con herramientas que le dan la misma estabilidad y desempeño que sus competidores.

La virtualización en la vida cotidiana nos permite optimizar el uso de recursos, economizando en la infraestructura y dando un espacio de pruebas óptimo para desarrollo en ambientes controlados.