domingo, 16 de septiembre de 2007

Virtualización de sistemas operativos, ¿que usar?

Ya se que suena raro, la virtualización ha pasado de ser una moda, a ser una necesidad. La utilización del 100%, teoricamente, de una maquina es cada vez mas complicado ya que la mayoria estan siempre infrautilizadas. La mayoria de los programas nunca utilizaran mas allá de uno de los nucleos que tenga tu maquina, es decir, que aunque tengas un QuadCore de intel, muchos programas usaran solo uno de los cuatro disponibles... un derroche. Ademas, resulta muy comodo tener maquinas virtuales para poder hacer pruebas sin miedo, y sin tocar una maquina en producción. Es decir, levanto una maquina virtual y si la cago, pues no estoy reventando una maquina real...

Navegando por internet, se puede obtener mucha información sobre el tema, y como no, siempre hay alguien que sabe mas que tu... aunque hay mucha información, me quedo con esta comparativa del blog Felipe Hérnan. En este apunte de su blog, es comenta una entrada de la Wikipedia donde se comparan todas las maquinas virtuales que hay ahora mismo por el mercado.

Es muy sencillo hacerte un lio entre tanto nombre raro, ya que hay muchas formas de "virtualizar". La forma mas simple de definirla, por lo menos que yo haya leido, es que es la creación de ordenadores dentro de ordenadores, incluso simulando un hardware diferente. Una cosa es clara, hay que luchar contra la perdida de rendimiento, ya que simular siempre cuesta, aunque tu maquina sea muy potente, puede que le cueste si la virtualización es muy compleja (¿alguien se acuerda de los emuladores de 3dfx?).
Una de las muchas formas de virtualización, diferente de la de simulación, es definiendo una API que nuestro sistema operativo tiene que utilizar para acceder al hardware real. Esto se llama paravirtualización, y es la que utiliza por ejemplo el software Xen que es muy extendido ya que simula muy bien. Aunque la empresa que comercializa este software, tambien ofrece una versión mas pulida y con soporte (eso pone en su web, la verdad que no he encontrado ningun sitio donde ponga las diferencias exactas), os recomiendo que hagais vuestros pinitos con la versión opensource que podeis encontrar aqui: XenSource

Podria repasar, todas las magnificas soluciones libres, ya que existen bastantes, aunque parece ser que las soluciones de pago nos ofrecen bastantes mas opciones y son las mas extendidas.

Pasando a la parte no libre, por experiencia propia se que las soluciones de VMWare son bastante buenas, aunque si quieres la mayor funcionalidad tendras que pasar por caja... La diferencia con Xen, es que esto simula una maquina completa. Es decir, el sistema operativo se piensa realmente que esta instalada en una maquina con un hardware que VMWare se encarga de simular. Esto, por mucho que digan que no, es un lastre en rendimiento, pero permite instalar cualquier sistema operativo sin tener que modificar nada de el para que funcione. En especial esta solucion es muy sencilla de usar, ademas de ser muy flexible para crear maquinas virtuales con cualquier caracteristica. Aunque no es libre, tiene una versión (sin todo lo que hace la de pago... claro) que es gratuita. Es una derivacion, o evolucion, del VMWare GSX Server que era de pago y que ahora llaman VMWare Server.

Esto es un mundo...

No hay comentarios: